触发时返回未定义的Java脚本

Java script returning undefined when triggered

本文关键字:Java 脚本 未定义 返回      更新时间:2023-09-26

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

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

除了代码中大写不正确的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属性。