js动态创建了未定义的单击函数的复选框

时间:2013-03-18 15:17:21

标签: javascript jquery inputbox

我正在动态创建一个复选框,当执行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
} 

2 个答案:

答案 0 :(得分:0)

尝试声明dhkBox函数,如:

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

答案 1 :(得分:0)

你毫无疑问,但无论如何我都会给你答案;)

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