如何使用JQuery 2.1.4过滤复选框



我正在尝试选择和取消选择表列中给定的所有复选框。我已经为JQuery 1.4.0版本编写了代码,但在升级到2.1.4版本后,它已经停止了工作。

我在代码中遇到的问题是:

function findCheckBoxes(selectid, table) {
    return $(table).find('td input:checkbox:not(:disabled):[id*=' + selectid + ']');
}

它抛出错误:

Uncaught Error: Syntax error, unrecognized expression: td input:checkbox:not(:disabled):[id*=chkselect]

如果我从find函数中删除了进一步的过滤器,那么它可以正常工作,但是,我也想过滤禁用的和特定的列复选框。

function findCheckBoxes(selectid, table) {
    return $(table).find('td input:checkbox');
}

但是,它选择所有复选框,而不是从特定的列。

这是我的小提琴

问题是[id*=之前的:会创建无效的选择器

$(table).find('td input:checkbox:not(:disabled)[id*=' + selectid + ']');

演示:Fiddle

最新更新