激活输入的复选框有效,但如果一行输入重复,它的行为会很奇怪

Checkbox to activate inputs works, but acts quirky if row of inputs is duplicated

本文关键字:输入 如果 有效 复选框 激活 一行      更新时间:2023-09-26

这里有一个jsFiddle链接:

http://jsfiddle.net/HunEj/

所以你可以点击复选框,它会启用旁边的字段。但如果你勾选一个,然后勾选下一个(这确实启用了字段),然后取消选中其中一个,它不会起任何作用。

很明显,这是因为我写jQuery的方式。复选框在重复时具有相同的类名。它正在检查是否已检查。但我不知道如何重写它,所以它只检查我点击的这个是否被选中,而不是其他任何一个。

有什么想法吗?

JS:

$('table input.activate').click(function(e) {
    if ($(this + ':checked').length > 0) {
        $(this).parent().parent().find('input.input-mini, input.input-small, select.input-mini').attr('disabled', false);
    } else {
        $(this).parent().parent().find('input.input-mini, input.input-small, select.input-mini').attr('disabled', true);
    }
});

这是有效的:

$('table input.activate').click(function(e) {
    var inputs = $(this).parent().parent()
           .find('input.input-mini, input.input-small, select.input-mini');
    if (this.checked) {
        inputs.attr('disabled', false);
    } else {
        inputs.attr('disabled', true);
    }
});
​
相关文章: