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

How to disable/enable checkboxes in dynamic table based on dropdown selection

本文关键字:动态 启用 复选框 何根 选择      更新时间:2023-09-26

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

$(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/

如果在附加处理程序时该元素还不存在于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();
});