我有一些1.6的老jQuery代碼完美的工作,但我現在重做網站並升級到1.9.1 jQuery和我的舊代碼不起作用。jQuery 1.9複選框計數
$("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的類,以幫助更容易閱讀。
我收到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
任何幫助將不勝感激的。
我不知道它是如何關聯的,但我建議在選擇器中用引號括住屬性值:'$(「input [type ='checkbox'] [name ='compare []']:checked 「)'。 – VisioN 2013-04-05 14:44:12