我有我的表与复选框的列表。如果复选框被选中,则将值设置为0,如果未选中,则值为-1。我当前的代码只会在检查时提交复选框。我想在每次点击保存按钮时提交表单中的所有复选框。有什么办法可以做到吗?这里是我的代码:如何提交表单中的所有复选框字段?
HTML:
<input type="checkbox" name="user" value="~(user_ID)" class="chkBlock" />
JQuery的:
//This code switch value based on if check box is checked or not
$j('.chkBlock').click(function(){
$j(this).val(this.checked ? 0:-1);
});
,并基于该值从DB这个代码集复选框状态:
$j(document).ready(function() {
$j('input.chkBlock[value="0"]').prop("checked", true);
$j('input.chkBlock[value="-1"]').prop("checked", false);
$j('input.chkBlock[value=""]').prop("checked", false);
});
我现在代码仅在检查时提交值。
这是一个复选框的工作原理。如果仅在检查时才给出值。如果您不使用JavaScript,也会发生这种情况。所以实际上你甚至不需要检查0或-1。值的存在会告诉你它是否被检查。拥抱这种行为,而不是试图解决它。 – GolezTrol
因此,如果我的复选框未选中时必须设置不同的值,我该如何避免变通?如果我无法提交未经检查的复选框,我将如何将该值保存在数据库中?任何其他方法,你会建议? –
可能重复的[发布未选中的复选框](http://stackoverflow.com/questions/1809494/post-the-checkboxes-that-are-unchecked) – showdev