我有一些 1.6 的旧 jQuery 代码可以完美运行,但我目前正在重做网站并升级到 1.9.1 jQuery,但我的旧代码不起作用。
$("input[type=checkbox][name=compare[]]").click(function() {
var bol = $("input[type=checkbox][name=compare[]]:checked").length >= 5;
$("input[type=checkbox][name=compare[]]").not(":checked").attr("disabled",bol);
$(this).closest("tr").toggleClass("marked", this.checked);
});
我有一个带有行值的复选框的表行,如果选中它会将行 ID 推送到一个数组中,这样我就可以在其他地方使用它。它还一次只允许最多 5 个复选框处于活动状态,并禁用其余复选框,因此无法检查它们(是的,我知道这些可以通过 DOM 完成,但在任何处理之前已在 PHP 中检查)。它还将应用标记的类,它只是一个较暗的 bg,以帮助使其更易于阅读。
我在加载时的 chrome 中的 javascript 控制台中收到以下错误
Uncaught Error: Syntax error, unrecognized expression: input[type=checkbox][name=compare[]]
当时代码更像是一项黑客工作,令我惊讶的是它甚至可以工作(笑)。
以下代码将选中选中的复选框并将值放入数组中,以便我可以通过 ajax 将其关闭。
$("input[type=checkbox][name=compare[]]:checked").each(function() {
data['id[]'].push($(this).val());
});
我已经开始重写它,但是在尝试为每个复选框赋予它自己的唯一标识符时遇到了问题,而在 jquery 会自己做之前。
.compare_check 是复选框的类
$('.compare_check').click(function() {
if (!$(this).is(':checked')) {
// do some work on
任何帮助将不胜感激。