获取隐藏复选框的值jQuery

时间:2014-06-02 11:38:41

标签: javascript jquery html

我有一个包含多个复选框的表单。默认情况下,某些值必须为true,因此我将它们隐藏为:

 <input type=checkbox name="<%= _key %>" checked="checked" style="display:none" />

要检索我正在执行的所有值:

 var form_data = {}   
 $('form').find("input").each(function(i, e) { 
        if (e.checked)  
           form_data[e.name] = e.value; 
    });

但隐藏的输入字段不会出现。我究竟做错了什么?我该如何纠正?

我也使用underscore.js,但我不认为这个问题必须对它做任何事情。

2 个答案:

答案 0 :(得分:1)

为简单起见,您可以这样做:

$(function(){ // put the code in doc ready
   var form_data = {}   
   $('form').find(":checkbox:checked").each(function(i, e) { 
       form_data[e.name] = e.value; 
   });
});

所以在这里我建议你循环检查已检查的元素并输入名称&amp; javascript对象中的值。


但如果您只对隐藏的复选框$('form').find(":checkbox:checked:hidden")感兴趣。

答案 1 :(得分:0)

我认为你应该采用这种jQuery方式。

$('form').find("input").each(function(i, e) {
var jEl = $(this);
if(jEl.is(":checked"))
    alert(1);
    alert(jEl.attr("name"));
});