Loading...
W3C最新规定,当checkbox未选中,post不会将值提交到服务器,这就出现了一个变量未初始化的问题,看网上有很多朋友增加隐藏表单的方式解决,如果有多个checkbox的话,会增加很大的代码量。
**我找到一个简单的解决办法:
1、通过jquery将value为1的自动设置为checked选中状态
2、提交时执行getCheckBoxVal函数,遍历所有checkbox,将已经选中的,将值设置为1
3、将未选中的选项value设置0,把checkbox选项设置为checked,保持选中状态,保证提交到服务器。**
**此方法同样适用于radio组件。**
$(document).ready(function() {
$("#configform").find("input:checkbox[value='1']").prop('checked',true);
})
function getCheckBoxVal(){ //提交前执行,将选中的checkbox的value设置为1,将未选中的checkbox也设置为checked,将值设置为0
$("#configform").find('input:checkbox').each(function(){ //遍历所有复选框
if($(this).prop('checked')== true){
$(this).val('1');
}
else{
$(this).prop('checked',true);
$(this).val('0');
}
});
}
最后修改: 年 12 月 14 日 08 : 25 PM
© 允许规范转载
赞赏
如果觉得我的文章对你有用,请随意赞赏
×Close
赞赏作者
扫一扫支付
支付宝支付
微信支付