单选按钮检查所有框

时间:2017-02-03 10:32:46

标签: javascript jquery html

<table class="table borderless">
    <thead>
      <tr>
        <th>Rank</th>
        <th>+/-</th>
        <th>Searches</th>
        <th></th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><input type="radio" name="optradio" class="custom"> ALL</td>
        <td><input type="radio" name="optradio" class="custom"> ALL</td>
        <td><input type="radio" name="optradio" class="custom"> ALL</td>
        <td><input id="ex2" type="text" class="span2" value="" data-slider-min="10" data-slider-max="1000" data-slider-step="1" data-slider-value="[0,1000]" data-slider-id="RC" id="R"/></td>
      </tr>
      <tr>
        <td><input type="checkbox" class="custom-selector"> Rank 1-10</td>
        <td><input type="checkbox" > Up</td>
        <td><input type="checkbox" > Over</td>
      </tr>
      <tr>
        <td><input type="checkbox" class="custom-selector"> Rank 11-20</td>
        <td><input type="checkbox" > Down</td>
        <td><input type="checkbox" > Under</td>
      </tr>
      <tr>
        <td><input type="checkbox" class="custom-selector"> Rank 21-100</td>
        <td><input type="checkbox" > No movement</td>

      </tr>
      <tr>
        <td><input type="checkbox" class="custom-selector"> Not in top 100</td>

      </tr>
    </tbody>
  </table>

脚本:

$(document).ready(function () {
       $(".custom").change(function () {
              $(".custom").parent().find(".custom-selector").prop("checked", true);
       })
   });

我需要的是一个单选按钮,可以在选中时检查所有框。

现在单击单选按钮时没有任何反应。但是,如果我添加此单选按钮:

<input type="radio" id="op5" value="1" name="options2" class="custom">

然后他们都工作了。即使是最初的一个也会检查所有方框。

这种奇怪的行为是什么?我错过了什么

编辑:看来单选按钮必须在桌子外面?我能以某种方式进入吗?

3 个答案:

答案 0 :(得分:4)

尝试:

$(".custom").closest("tbody").find(".custom-selector").prop("checked", true);

或只是:

$(".custom-selector").prop("checked", true);

答案 1 :(得分:1)

试试这个:

$(".custom").change(function () {
    $(this).parents('tbody').find(".custom-selector:checked");
});

和一些参考:https://api.jquery.com/checked-selector

最终使用.not(this)

删除您的操作选择器

答案 2 :(得分:0)

试试这个:

    $(document).ready(function () {
           $(".custom").change(function () {
             $(".custom-selector").prop("checked", true);
        })
    });