如何根据下拉列表选择禁用/启用动态表格中的复选框

时间:2016-09-07 21:13:44

标签: javascript jquery html checkbox drop-down-menu

我有一个html表,我是从JSON文件动态生成的。此表包含带有下拉列表和复选框的行。如果选择下拉列表中的默认值,则应禁用该复选框,否则应启用该复选框。我相信以下代码应该做我想要的。

$(function() {
$('td select').change(function () {
$(this).closest('tr').find('input[type="checkbox"]').prop('disabled', $( 'select option:selected' ).val()=='Default');
}).change();});

然而,当我在我的代码中运行它时,只有表的第一行演示了我正在寻找的功能。因为表是从JSON动态生成的,所以我不相信循环是一种选择。这里已经提出了类似的问题,但它们不适用于动态生成的表。下面附带的小提琴类似于我想要实现的内容,似乎我的逻辑是相同的。如果有人能指出我正确的方向,我将不胜感激。

http://jsfiddle.net/3RRLP/2/

1 个答案:

答案 0 :(得分:0)

如果在附加处理程序时DOM中不存在该元素,您可以尝试:

 $(function() {
    $('body').on('change', 'td select', function() {
        console.log(this.id);
        $(this).closest('tr').find('input[type="checkbox"]').prop('disabled', $('select option:selected').val() == 'Default');
    }).change();
});