Javascript 复选框单击功能不工作

Javascript 复选框单击功能不工作,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我有一组同名的复选框。每个复选框关联一个文本框。在页面加载时,我禁用所有文本框。单击每个复选框时,应启用对应于该复选框的文本框 问题是,我尝试使用不同的代码来启用复选框单击时的文本框。但复选框单击功能不起作用 代码如下所示(我使用的是MVC框架): 此代码用于禁用页面加载上的所有文本框,工作正常 $('input[name='settingcheck']:checked').click(function() { } 我编写了上述函数,用于在相应的复选框单击时启用文本框。但是这个功能不起作用。

我有一组同名的复选框。每个复选框关联一个文本框。在页面加载时,我禁用所有文本框。单击每个复选框时,应启用对应于该复选框的文本框

问题是,我尝试使用不同的代码来启用复选框单击时的文本框。但复选框单击功能不起作用

代码如下所示(我使用的是MVC框架):

此代码用于禁用页面加载上的所有文本框,工作正常

$('input[name='settingcheck']:checked').click(function() {

}
我编写了上述函数,用于在相应的复选框单击时启用文本框。但是这个功能不起作用。我尝试在这个函数中提醒一些文本


代码有问题吗。谁能帮我解决这个问题。提前感谢。

您的字符串文字格式不正确:因为您使用了
'
来封装文字,所以字符串中所有出现的
'
都必须转义(
'input[name=\'settingcheck\']:checked'
),或者您可以使用
'

$(document).on('change', 'input[name="settingcheck"]', function() {
    if(this.checked){
        //this is checked now
    } else {
        //this is unchecked now
    }
});

您的字符串文字格式不正确:因为您使用了
'
将文字括起来,所以字符串中所有出现的
'
都必须转义(
'input[name=\'settingcheck\']:checked'
),或者您可以使用
'

$(document).on('change', 'input[name="settingcheck"]', function() {
    if(this.checked){
        //this is checked now
    } else {
        //this is unchecked now
    }
});
试试这个

$('input[name="settingcheck"]:checked').click(function() {

}
试试这个

$('input[name="settingcheck"]:checked').click(function() {

}
试试这个:

$("input[name='settingcheck']:checked").click(function() {
}
试试这个:

$("input[name='settingcheck']:checked").click(function() {
}
试试这个

$('input[name="settingcheck"]:checked').on('click',function() {

});

试试这个

$('input[name="settingcheck"]:checked').on('click',function() {

});


如果尚未选中,您可以尝试此选项

$('input[name="settingcheck"]').click(function() {
    if($(this).is(':checked')){
        alert('checked');
    }
})

请参见

如果尚未选中,您可以尝试此选项

$('input[name="settingcheck"]').click(function() {
    if($(this).is(':checked')){
        alert('checked');
    }
})
请参见

您可以这样尝试:

您可以这样尝试:


查看语法突出显示。
settingcheck
看起来像可变颜色还是字符串颜色?;)查看语法突出显示。
settingcheck
看起来像可变颜色还是字符串颜色?;)我已经试过很多次了。它对我不起作用。@Jenz看起来你在使用模板生成元素。。。所以它们在本质上是动态的。。。您可能必须尝试event delegationI我已经多次尝试此代码。它对我不起作用。@Jenz看起来你在使用模板生成元素。。。所以它们在本质上是动态的。。。您可能必须尝试事件委派
 function checkBoxClicked1(checkbox) {
        debugger;
        var a = $(checkbox).is(':checked');
        var textBox = $(checkbox).closest("tr").children()[1].children[0];
        if (a) {
            $(textBox).show();
            $(checkbox).prop("checked", true);
        } else {
            $(textBox).hide();
            $(checkbox).prop("checked", false);
        }

    }