Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery和关联表单,需要使用启用和禁用复选框的帮助吗_Jquery_Arrays_Forms_Checkbox - Fatal编程技术网

jQuery和关联表单,需要使用启用和禁用复选框的帮助吗

jQuery和关联表单,需要使用启用和禁用复选框的帮助吗,jquery,arrays,forms,checkbox,Jquery,Arrays,Forms,Checkbox,我需要关于jQuery和多数组表单的帮助。我的表格如下: <form> <div class="box" style="border:1px #000 solid"> <input type="checkbox" name="clause[3][chk]" class="clause_check"> <input type="text" name="clause[3][number]" class="clause_number numer

我需要关于jQuery和多数组表单的帮助。我的表格如下:

<form>
<div class="box" style="border:1px #000 solid">
    <input type="checkbox" name="clause[3][chk]" class="clause_check">
    <input type="text" name="clause[3][number]" class="clause_number numericonly" maxlength="2" size="2" disabled="disabled">
    This is a clause with a text field <input class="clause_input" name="clause[3][field][-_transfer_charges_-]" disabled="disabled" type="text"> to be filled in.
</div>
<div class="box" style="border:1px #000 solid">
    <input type="checkbox" name="clause[2][chk]" class="clause_check">
    <input type="text" name="clause[2][number]" class="clause_number numericonly" maxlength="2" size="2" disabled="disabled">
    This is a clause without a text box to fill.
</div>
<div class="box" style="border:1px #000 solid">
    <input type="checkbox" name="clause[1][chk]" class="clause_check">
    <input type="text" name="clause[1][number]" class="clause_number numericonly" maxlength="2" size="2" disabled="disabled"> 
    Another clause with a 
    <input class="clause_input" name="clause[1][field][-_transfer_charges_-]" disabled="disabled" type="text"> 
    to be filled in.
    <ol type="a">
        <li>This is a sub clause with a <input class="clause_input" name="clause[1][field][-_noc_charges_-]" disabled="disabled" type="text"></li>
        <li>Last sub clause.</li>
    </ol>
</div>
</form>

这是一个包含要填写的文本字段的子句。
这是一个没有文本框可填充的子句。
另一个带有
填写。
  • 这是一个带有
  • 最后一款

  • 现在,默认情况下,所有文本框字段都被禁用。选中相应的复选框字段后,同一div上的所有文本框字段都将处于活动状态,如果取消选中,则将执行相反的操作。对不起,我不太确定从哪里开始。我将使用php来处理提交的数据。如果您有任何帮助,我们将不胜感激。

    鉴于您可以尝试的标记

    $(function(){
    
      $(":checkbox").on("change",function(e){
    
       if($(this).is(":checked"))
          $(this).closest("div.box").find(":input").prop("disabled",false);
      else
         $(this).closest("div.box").find(":input:not(:checkbox)").prop("disabled",true);    
     });    
    });
    

    更新:

    如果您是动态生成表单,您可以像

    $(document).on("change",":checkbox",function(e){
    ...
    // rest of the code remains the same 
    
    请看这个演示: 还有剧本:

    $('body').on('change', '.clause_check', function() {
        $(this).closest('.box').find(':input:not(".clause_check")').prop('disabled', !$(this).is(':checked'));
    })
    

    取消选中后,复选框将被禁用。。很抱歉,真的不是一个好的jquery编码器。谢谢,3nigma和dfsq的回答都很好。我注意到这两个答案都不适用于jquery 1.6.4版。。我刚刚更新了我的jquery,工作得非常出色。根据您给出的答案,我如何能够在检查时自动为子句[n][number]字段编号?如果已经设置了子句[n][number],则从中获取当前的自动编号,并递增/递减该值?很抱歉,但是当我尝试使用实际表单(动态创建)时,什么都没有发生。但是标记可能是相同的。在我将jquery版本(1.6.4)更新到1.7.1之后,它终于开始工作了。它似乎不适合我以前的jquery版本。谢谢!