2013-02-23 44 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(); 

});