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



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

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>

您可以通过呼叫.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);
    }
});   

代码笔的工作示例

最新更新