触发时返回undefined的Java脚本

时间:2015-11-10 17:44:09

标签: javascript asp.net vb.net

这是函数,下面是设计器代码。我已使用最新答案更新了代码

   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">

1 个答案:

答案 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属性。