复选框和隐藏类型问题

时间:2010-03-01 17:33:56

标签: jquery

所有

我有一个复选框和一个同名的隐藏变量。

<input name="chk9[143]" value="" type="hidden">
<input name="chk9[143]" onclick="toggleParentCheckboxes(this, 'frmSomething', 0);" type="checkbox">

发布表单时,即使选中了复选框,也会得到隐藏变量的值。那样就好。现在,如果通过JavaScript禁用该复选框,是否可以通过JQuery将隐藏元素值更改为“禁用”?因此,当发布表单时,我应该将值设为“禁用”,而不是将值设为“”。

由于

2 个答案:

答案 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" );
});

此示例假定您只处理两个显式元素,而不处理多组对。