1

ASP:ListView コントロールでは、各行にチェックボックスがあります。各行は、対応する価格を持つ製品を表します。顧客に 1 つ以上の製品を選択してもらい、クライアント側で合計金額を計算してもらいたい。

これまでのところ、次のコードを使用しましたが、機能しません。

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

製品が選択されたばかりかどうかを判断し、合計から製品価格を加算/減算するJavaScript関数 changeTotal(referer, value) があります。

問題は、CheckBox 定義での JavaScript 関数の割り当てです。このアプローチの何が問題なのですか? javascript 関数に静的価格を割り当てられないのはなぜですか? チェックボックスからパーツを削除する<%# Eval("Price")) %>と、コードはエラーなしでコンパイルされます。

4

2 に答える 2

1

onchange の二重引用符を一重引用符に変更します。

于 2009-09-24T09:20:46.427 に答える
-1
<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>
于 2009-10-19T11:24:14.197 に答える