listview中的asp.net复选框调用javascript代码onchange
在ASP:ListView控件中,每行都有一个复选框。每一行代表一种产品及其相应的价格。我希望客户选择一个或多个产品并计算客户端的总价格 到目前为止,我使用了以下代码,但它不起作用:listview中的asp.net复选框调用javascript代码onchange,asp.net,javascript,listview,checkbox,onchange,Asp.net,Javascript,Listview,Checkbox,Onchange,在ASP:ListView控件中,每行都有一个复选框。每一行代表一种产品及其相应的价格。我希望客户选择一个或多个产品并计算客户端的总价格 到目前为止,我使用了以下代码,但它不起作用: <asp:CheckBox ID="CheckBox" runat="server" Text="" Checked='<%# Convert.ToBoolean(Eval("Selected")) %>'
<asp:CheckBox ID="CheckBox"
runat="server"
Text=""
Checked='<%# Convert.ToBoolean(Eval("Selected")) %>'
onchange="changeTotal(this, <%# Eval("Price")) %>)"
/>
我有一个javascript函数changeTotal(referer,value),它应该确定产品是否刚刚被选中,并从总数中加/减产品价格
问题是复选框定义中的javascript函数赋值-这种方法有什么错?为什么我不能为javascript函数指定一个静态价格?当我从复选框中删除
部分时,代码编译时不会出错。将onchange中的双引号更改为单引号。
<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>
函数validatecheckbox(模式)
{
//警报(“模式”+模式);
//模式:1 From:chkdeRegister
//模式:2 From:chkcancel
var chkdeRegister=document.getElementById(“”);
var chkcancel=document.getElementById(“”);
//警报('chkdeRegister:'+chkdeRegister.checked);
//警报('chkcancel:'+chkcancel.checked);
如果(模式==1)
{
如果(chkdeRegister.checked)
{
chkcancel.checked=假;
}
}
其他的
{
如果(chkcancel.已选中)
{
chkdeRegister.checked=false;
}
}
}
实际上我以为我已经尝试过了,但它确实消除了编译器错误。但由此产生的客户端代码似乎是错误的。我将javascript函数附加到一个带有复选框的函数,但该函数尚未计算。我应该如何表达我的复选框属性?这里有一种方法,有点不对劲,但是嘿。。。嗨,帕迪,我会在你的链接中尝试解决方案。感谢您的努力:)