2013-02-23 79 views
0

我輸入如何從所有輸入中獲取所有值?

<input name="v[]" value="1" type="checkbox"> 
<input name="v[]" value="2" type="checkbox"> 
<input name="v[]" value="3" type="checkbox"> 
<input name="v[]" value="4" type="checkbox"> 

凡與此代碼

$(document).on('click',"tbody tr", function() { 
    if ($(this).hasClass('info')) { 
     $(this).removeClass('info'); 
     $(this).find('input[name="v[]"]').prop('checked', false); 
    } else { 
     $(this).addClass('info'); 
     $(this).find('input[name="v[]"]').prop('checked', true); 
    } 
}); 

我想要得到檢查輸入的陣列與他們的價值觀檢查。我怎麼能做到這一點?

謝謝。

回答

3
var values = $.map($('input[name="v[]"]:checked'), function(el,i) { return el.value }); 

FIDDLE

+0

我得到'遺漏的類型錯誤:對象具有處於的jsfiddle使用jQuery 1.8.3或1.9.1 – Nope 2013-02-23 20:54:08

+1

@FrançoisWahl沒有方法「get'' - 編輯吧! – adeneo 2013-02-23 20:56:52

+0

現在,它的工作,但這個代碼獲取所有輸入的所有值,而我想獲得所有輸入的所有值WHERE檢查。 – Nolik 2013-02-23 21:00:53

0

.serializeArray應該這樣做

$('input').on('click', function(){ 
    console.log($('input').serializeArray()); 
}); 

http://jsfiddle.net/cbm4T/

的類型checkbox http://jsfiddle.net/cbm4T/1/

剛開輸入例210
+0

如果表單上還有其他輸入,該怎麼辦? – 2013-02-23 21:07:42

+0

您只需更新選擇器即可更具體。我在答案中添加了一個示例。 – subhaze 2013-02-23 21:29:52

0
var values = $.map($('input[name="v[]"]:checked'), function(obj) { 
       return $(obj).val(); 

}); 

編輯:別人打我吧。

如果由於某種原因你想相反。未點擊的複選框及其值。

var values = $.map($('input[name="v[]"]:not(:checked)'), function(obj) { 
       return $(obj).val(); 

});