asp.net Kontrollkästchen in Listview Javascript-Code Onchange Aufruf
-
16-09-2019 - |
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.
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>