2013-07-02 16 views
1

我正在創建一個包含許多AJAX動力表單的小型CRM。我正在嘗試建立最好的中性數據選擇工具來獲取表單的所有數據。AJAX表單提交 - 選擇除未選中的複選框之外的所有輸入

我遇到的一個問題是,當做$('#checkbox').val()時,複選框始終顯示爲「on」。我的目標是編寫1個選項,以獲取其中包含數據的所有項目。我現在的選擇語句是相當裸:

$('input, select, textarea').each(function() { 
    // do stuff with the data, and create a dataString 
} 

我一直在使用:not()試過,但我真正想要做的就是,它們不是選中複選框所有輸入標籤。有一些我可以使用的嵌套選擇器嗎?我知道:checked總是可用,但我試圖儘可能保持它不具體。我知道我可以這樣做:

$('input[type=text], input:checked, type[type=hidden] .... ') 

等等,但我希望保持它好和短

謝謝你們(如果可能的話!)!

+0

是否要查詢返回單選按鈕(未選中或選中)? – semao

+0

這個想法最終還包括單選按鈕(僅限選中),但迄今爲止我創建的表單只包含上述項目。 :) –

回答

1

嘗試使用$('form#myForm').serializeArray(),它忽略未經檢查的框。與$('form#myForm').serialize()一樣。

+0

http://jsfiddle.net/WQD9G/ – bgun

+0

謝謝! 'serializeArray()'和'serialize()'有什麼區別? jQuery vs本機?任何速度差異? –

+0

找到了答案 - 「serialize()'返回一個字符串,看起來!很酷。 http://stackoverflow.com/questions/10430502/whats-the-difference-between-serialize-and-serializearray –

相關問題