所有
我有一个复选框和一个同名的隐藏变量。
<input name="chk9[143]" value="" type="hidden">
<input name="chk9[143]" onclick="toggleParentCheckboxes(this, 'frmSomething', 0);" type="checkbox">
发布表单时,即使选中了复选框,也会得到隐藏变量的值。那样就好。现在,如果通过JavaScript禁用该复选框,是否可以通过JQuery将隐藏元素值更改为“禁用”?因此,当发布表单时,我应该将值设为“禁用”,而不是将值设为“”。
由于
答案 0 :(得分:2)
您的意思是获取复选框,查找匹配的隐藏字段,并根据是否禁用该复选框设置值:
$(function() {
$('form').submit(function(){
$('input[type=checkbox]').each(function(){
$('input[type=hidden][name=\''+this.name+'\']').val(this.disabled ? 'disabled' : '');
});
return true;
});
});
答案 1 :(得分:1)
在表单的提交操作中,检查是否未选中该复选框。如果未选中,请将隐藏元素的值更改为“禁用”:
$(".myform").submit(function(){
$(":hidden[name='chk9[143]']")
.val( $(":checkbox[name='chk9[143]']").is(":checked") ? "" : "disabled" );
});
此示例假定您只处理两个显式元素,而不处理多组对。