2012-03-30 69 views
0

我必須使用JQuery獲取複選框的值。當我嘗試下面的代碼時,即使在選中該複選框時,它總是返回「false」作爲複選框的結果。Jquery獲取複選框的選中值時的問題

var result = $("#checkkBoxId").is(':checked'); 

然後我嘗試了另一種方式,如下所示。但結果總是返回「未定義」。

var result = $("#checkkBoxId").attr('checked'); 

任何想法爲什麼這些代碼部分無法正常工作?提前致謝。

+0

您確定您收到的複選框正確嗎? – 2012-03-30 16:17:51

+0

我同意迦勒,在我看來,你可能沒有得到這個元素。看到這個工作小提琴:http://jsfiddle.net/JXGhp/ – FlabbyRabbit 2012-03-30 16:21:28

+0

Caleb Doucet和FlabbyRabbit - 非常感謝您的快速回復。我很確定我正確地獲取了複選框元素,因爲我通過visual studio立即窗口檢查了它並快速觀看。但是當我檢查$(「#checkkBoxId」)。attr('checked');它說attr是不確定的。 – Sugandika 2012-03-31 00:50:54

回答

0

它看起來更像是一個問題,你有沒有正確的變量名?用戶開發人員工具或螢火蟲,以確保您擁有正確的ID名稱。如果您沒有將其設置爲靜態客戶端模式,則會通過瀏覽器使用不同的ID名稱進行渲染。

分享複選框的代碼?

+0

非常感謝您的回覆。我已經使用了螢火蟲和視覺工作室立即窗口並快速觀察,以確保我是否正確地獲得了複選框元素。當我在直接窗口中鍵入$(「#checkkBoxId」)時,我能夠確保元素正確返回。但是當我檢查$(「#checkkBoxId」)。attr('checked');它說attr是不確定的。 – Sugandika 2012-03-31 00:58:33

0

聽起來像元素的ID是錯誤的。 可能有一個錯字:檢查* k * BoxId在複選框的ID中。

1

我會非常確信問題是您的選擇器匹配的元素不存在或不是複選框。您的選擇器中的雙「k」是否爲錯字?另外,爲了檢查單個複選框的檢查情況,我強烈建議您跳過jQuery並直接使用DOM布爾checked屬性,該屬性不可能更簡單或更可靠。

SO常規A​​ndy E有relevant blog post about this kind of thing

var result = $("#checkkBoxId")[0].checked;