我有一个包含多个复选框的表单。默认情况下,某些值必须为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,但我不认为这个问题必须对它做任何事情。
答案 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"));
});