概述
啊算了,原来的还是不太行。。。
但这个最新的可以
之前就遇到类似的问题,在一个列表中,如果有复选框,并且不选中 会导致这个复选框不上传,导致后台接收不到复选框数据
解决方法我想到的就是
<td>
<input type="text" style="display: none;" name="is_joinrepository[]">
<input type="checkbox" class="form-control" onclick="$(this).prev().val($(this).is(':checked')?'1':'0');console.log($(this).prev().val())"/>入库
</td>
<td>
<input type="text" style="display: none;" name="is_complete[]" />
<input type="checkbox" class="form-control"
onclick="$(this).prev().val($(this).is(':checked')?'1':'0');console.log($(this).prev().val())" />齐全
</td>
再不记录下来下次还会有问题
下面挺奇妙,但是没有我要的结果
别人的,贴过来记录一下。。真是太妙了!真是把html拿捏透了。。。
根据W3C的规则未选中的checkbox和禁用的控件不是有效控件,不会被POST。因此如果要未选中的checkbox表示值0的话,就不得不曲线完成了。
最近研究Zend Framework时候,发现其中的一个方法formCheckbox()。这个方法是生成checkbox表单的。但是它在生成checkbox的之前会生成一个hidden表单。这种做法很巧妙。
比如:
<input type="hidden" name="foo" value="0">
<input type="checkbox" name="foo" id="foo" value="1">
生成这样的表单,当checkbox未选中的时候,提交的是hidden表单。值0就被提交到服务器了。
当checkbox都选中的时候,hidden和checkbox表单都被提交了,但是因为它们的name是一样的,所以hidden的值被checkbox覆盖了。所以就得到了数值1。
这种方法简单巧妙,值得推广。
最后
以上就是糟糕康乃馨为你收集整理的checkbox不选中怎么传值的全部内容,希望文章能够帮你解决checkbox不选中怎么传值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复