这是函数,下面是设计器代码。我已使用最新答案更新了代码
function OnClientLoBChecked(sender, args) {
var ChkBoxLOB = document.getElementById("<%= cbFLoB.ClientID %>");
var ChkBoxDis = document.getElementById("<%= chkBoxShowNewProjects.ClientID %>");
if (ChkBoxLOB.Checked) {
ChkBoxDis.checked = false}
else{
ChkBoxDis.checked = true
}
filterChanged();
}
<telerik:radcombobox id="cbFLob" runat="server" datatextfield="LobName" checkboxes="true" OnClientItemChecked="OnClientItemChecked">
答案 0 :(得分:2)
除了代码中错误大写的document.getElementById()
之外,真正的问题是ChkBoxLob
始终未定义。
您正在使用$find这是一个
ASP.net
函数,用于查找使用addComponent
方法注册的组件。
这些组件.net AJAX server controls
具有JavaScript对应项。 $find()
方法不能像JavaScript document.getElementById()
或jQuery $('#someId)
表示法一样使用。
这就是chkBoxLob
总是未定义的原因;
在两个地方使用document.getElementById
。
var ChkBoxLob = document.getElementById("<%= cbFLob.ClientID %>");
var ChkBoxDis = document.getElementById("<%= chBoxNewProjects.ClientID %>");
还请注意大写的.ClientID
属性。