我有一些复选框代码:
echo "<td>"
echo "<input type = \"checkbox\" name=\"name\" value=\"$name\">";
echo "<input type = \"hidden\" name=\"user\" value=\"$user\">";
echo "</td>"
上面的代码表示一个复选框,因此每个复选框都有多个名称/值对。想象一下,我有很多这些复选框。我想找到每个选中的复选框,然后打印出复选框的每个名称/值对。
到目前为止,这是我的代码:
var formData = {};
$(':checkbox:checked').each(function(){
$(this).find("input[name]").each(function(index, node){
formData[node.name] = node.value;
alert (node.name + node.value);
});
});
但它不起作用。有什么想法吗?
答案 0 :(得分:0)
您需要更改以下各项功能:
$("input[type='checkbox']").change(function() {
if( $(this).is(':checked') ){
$(this).find("input[name]").each(function(index, node){
console.log('a');
formData[node.name] = node.value;
alert (node.name + node.value);
});
}
});
这是因为最初您的复选框未处于选中状态。因此,您需要跟踪已选中/未选中的事件以使其正常工作。希望它有所帮助。