Frage

In einer ASP: Listview-Steuerelement, habe ich eine Checkbox für jede Zeile. Jede Zeile stellt ein Produkt mit einem entsprechenden Preis. Ich möchte der Kunde ein oder mehrere Produkte auszuwählen und einen Gesamtpreis Client-Seite zu berechnen.

Bisher habe ich den folgenden Code verwendet, aber es funktioniert nicht:

<asp:CheckBox ID="CheckBox" 
              runat="server" 
              Text="" 
              Checked='<%# Convert.ToBoolean(Eval("Selected")) %>'
              onchange="changeTotal(this, <%# Eval("Price")) %>)"
/>

Ich habe eine Javascript-Funktion changeTotal (referer, Wert), die, wenn das Produkt nur ausgewählt wurde bestimmen sollte, und fügen Sie / den Produktpreis von insgesamt subtrahieren.

Das Problem ist die JavaScript-Funktion Zuordnung in der CheckBox Definition - Was ist falsch mit diesem Ansatz? Warum kann ich einen statischen Preis für die JavaScript-Funktion nicht zuweisen? Als ich den <%# Eval("Price")) %> Teil aus dem Kontrollkästchen entfernen, kompiliert der Code ohne Fehler.

War es hilfreich?

Lösung

ändern Sie Ihre doppelten Anführungszeichen in den Onchange zu einfachen Anführungszeichen.

Andere Tipps

<script language="javascript" type="text/javascript">
 function validatecheckbox(mode)
 {
 //alert('mode' + mode);
 //mode : 1  From : chkdeRegister
 //mode : 2  From : chkcancel
  var chkdeRegister = document.getElementById ("<%=chkdeRegister.ClientID%>"); 
  var chkcancel = document.getElementById("<%=chkcancel.ClientID%>");

  //alert('chkdeRegister: ' + chkdeRegister.checked);
  //alert('chkcancel: ' + chkcancel.checked);
  if(mode==1)
  {
    if(chkdeRegister.checked)
     {
      chkcancel.checked=false;
     }
  }
  else
  {
   if(chkcancel.checked)
     {
      chkdeRegister.checked=false;
     }
  }
 }
</script>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top