复杂的选择和复选框

时间:2018-04-06 18:46:13

标签: jquery checkbox

我有一个复杂的嵌套表单,没有单独的类(不能更改任何内容......)并且想要检查所有子复选框。

由于结构我已经做了类似下面的js:

$('.selector input').click(function(event) {
        if(this.checked) { 
            $(this).parents('.row').next('.checkboxselect').css( "background-color", "red" );
         }
        ...

到目前为止工作正常,我需要的区域有背景颜色。

现在我需要检查.checkboxselect区域中可以找到的所有复选框,但是不知道怎么做... 也许有人有个主意...... 多谢! 最好, 克里斯

额外的信息:形式就像那样构建(有这样的几个块:

<div>
    <div class="row">
       <div>
          INPUT (WHEN THIS IS CHECKED, THE OTHERS SHOULD BE CHECKED TOO
       </div>
    </div>
    <div class="checkboxselect">
    <fieldset>
       <div class="fieldsetct">
          <div class="row">INPUT <- Check me, when the top checkbox is checked</div>
          <div class="row">INPUT <- Check me, when the top checkbox is checked</div>

       </div>     
    </fieldset>
  </div>
</div>

2 个答案:

答案 0 :(得分:1)

这是一个例子。

  1. 处理父复选框的更改事件
  2. 查找所有复选框位于同一周围div
  3. 将其状态设置为与触发事件的checkbox相同。
  4. &#13;
    &#13;
    $("#sample").on("change", function(e) {
      var $this = $(this);
      $this.closest(".checkboxselect").find(".fieldsetct>.row>input[type=checkbox]")
        .prop("checked", $this.is(":checked"));
    });
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="checkboxselect">
      <div>
        <div class="row">
          <input type='checkbox' id='sample' />INPUT (WHEN THIS IS CHECKED, THE OTHERS SHOULD BE CHECKED TOO
        </div>
      </div>
      <fieldset>
        <div class="fieldsetct">
          <div class="row"><input type='checkbox' /></div>
          <div class="row"><input type='checkbox' /></div>
    
        </div>
      </fieldset>
    </div>
    &#13;
    &#13;
    &#13;

答案 1 :(得分:0)

我刚编辑了我的例子,那里有一个错误。对我有用的是:

$(this).parents('.row').next('.checkboxselect').find('input').prop('checked', true);