根据数据全局属性中的值更改复选框

时间:2017-10-12 16:19:59

标签: checkbox attributes

我正在尝试根据复选框右侧data-count设置的td全局属性来更改/禁用复选框。

data-count = 0 -> checkbox should be disabled
data-count > 0 -> checkbox should be checked



$('td.day').each(function() {           
    // set checkbox disable
    if ($(this).attr('data-count') == 0) {
            
    } else {
        // set checkbox checked
    }
}); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <table id="mytable">
      <thead>
        <th>&nbsp;</th>
        <th>Col1</th>
        <th>&nbsp;</th>
        <th>Col2</th>
      </thead>
      
      <tbody>
        <tr id="rw1">
          <td><input type="checkbox" name="check" /></td>
          <td class="day data-count="0">10</td>
          <td><input type="checkbox" name="check" /></td>
          <td class="day data-count="2">11</td>  
        </tr>
        <tr id="rw2">
          <td><input type="checkbox" name="check" /></td>
          <td class="day data-count="1"">20</td>
          <td><input type="checkbox" name="check" /></td>
          <td class="day data-count="0">21</td>
        </tr>
        </tbody>
    </table>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您可以通过致电.prop('checked', value)来查看/取消选中复选框 您可以通过.prev

查询上一个元素
$('td.day').each(function() {           
    if ($(this).attr('data-count') == 0) {  
        // set checkbox UNCHECKED
        $(this).prev().find('input').prop('checked', false);
    } else {
        // set checkbox CHECKED
        $(this).prev().find('input').prop('checked', true);
    }
});   

codepen

上的工作示例