1

我正在动态创建一个复选框,当执行 onclick 函数时,我在控制台中收到“函数未定义”错误。在单步执行中,代码在页面加载事件期间被读取,但在单击时会引发错误。我尝试将函数加载到 $(document).ready(); 但得到同样的错误:

*这些函数在页面加载时调用的函数内。 'chkBox' 是未定义的函数

function lyrBuild(lyrVar, lyrName) {
    $('<li>').attr({
        id: lyrVar.liID,
        class: 'layer'
    }).html($('<input>').attr({
        id: lyrVar.cbID,
        type: 'checkbox',
        onClick: "chkBox(" + "'" + lyrVar.liID + "'" + ")",
        checked: 'unchecked',
        name: lyrVar.Name,
        value: lyrVar.val
    })).appendTo('#layersList');
}

function chkBox(lyrId) {
    //switch statement goes here
} 
4

2 回答 2

0

尝试像这样声明 dhkBox 函数:

var chkBox = function(lyrId) {
    //switch statement goes here
}
于 2013-03-18T15:24:56.457 回答
0

你没有问题,但我还是给你一个答案;)

“这些函数在函数内部”,这意味着chkBox当您以这种方式调用它时它不可用。如果可能,请使用.click(), doc here.on(), 或放在chkBox函数之外。

于 2013-03-18T15:26:16.733 回答