2012-07-28 79 views
0

我正在構建一個包含相當多複選框的動態表單。由於表單的複雜性,常規表單提交併不合適,並且由於表單旨在同時對多個用戶有效,我正在做的是在序列化之前提取表單值並將其存儲在JavaScript對象中他們作爲批量數據發送和處理服務器端。使用Javascript提取複選框的值?

到目前爲止,這工作得很好,但我遇到了複選框輸入問題。儘管未檢查,但他們的value屬性總是從$('input[name=checkbox_name]').val();返回,儘管是否實際檢查了該複選框。

我試圖解決這個問題迄今:

  • 添加比默認的(這是on
  • 添加checked屬性的值,但我不能完全肯定哪些值是有效的,哪些不是;例如,使用谷歌瀏覽器的控制檯,我添加了一個checked="checked"屬性/值,它應該實時檢查框,但它不是
  • 將一個隱藏的輸入元素與name屬性放在同一個複選框之前作爲與value=0相同的複選框輸入按http://bit.ly/MLxCht

任何答案詳細說明如何可以提取複選框的當前值(未檢查/檢查)將非常感激。

+0

http://stackoverflow.com/questions/4813219/jquery-checkbox-value – 2012-07-28 14:01:07

+0

如何延長VAL() http://stackoverflow.com/questions/6778646/can-you-extend-the-val-function-in-jquery – mplungjan 2012-07-28 14:38:46

回答

0

而不是別人所提出的建議,爲什麼不乾脆:

+0

這將更像'.filter(':checked')'。 (好吧,就是這樣。) – Ryan 2012-07-28 14:14:48

0
$('input[name=checkbox_name]').prop('checked') 

(您也可以使用​​爲簡潔,但它的速度較慢。)

0

嘗試:

$('input[name=your_name]').is(':checked'); 

爲了獲得實際工作檢查或不重視

0

試試這個

$(...).is(":checked") 

$(...).attr('checked')