无法在jQuery中首先选择(单击)时禁用/启用复选框

时间:2017-02-11 00:56:26

标签: javascript jquery

我的问题是,如果您选中任何复选框(收款人) - 应禁用/启用具有相同列复选框的其他行。

  • 问题#1:我无法在第一次选择时禁用/启用复选框。但是,如果您选择任何复选框,则进行第二次点击。
  • 问题#2:如果我再次加载页面,之前选中的带复选框的值显示为禁用并选中。我需要使用unchecked禁用它。

以下是我的代码:

function onPayeeChkChange() {

jQuery(document).ready(function() {

    $('#tblHousehold tr td#tdpayee input:checkbox').click(function(){

        var $inputs = $('#tblHousehold tr td#tdpayee input:checkbox')                            
            if($(this).is(':checked')){
                $inputs.not(this).prop('disabled',true); // <-- disable all but checked one
                    }else{
                         $inputs.prop('disabled',false); // <--
                         }

                       });
                            });

                      } 

我不确定我错过了什么。

1 个答案:

答案 0 :(得分:0)

这是你在找什么?

注意:如果禁用复选框,则之后将无法重复使用。如果必须禁用它,只需在循环中添加.prop('disabled', true)

$(function () {
    $(':checkbox').click(function () {
  	var input = $(this), td = input.closest('td'), table = td.closest('table');
        // get index of the cell relative to its parent row
        var i = td.index();
        // loop through each row
        $('tr', table).each(function () {
    	    // uncheck the row's ith cell's checkbox
    	    $('td:eq(' + i + ') :checkbox', this).not(input).prop('checked', false);
        });
    })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <input type="checkbox">
    </td>
    <td><input type="checkbox"></td>
  </tr>
  <tr>
    <td><input type="checkbox"></td>
    <td><input type="checkbox"></td>
  </tr>
  <tr>
    <td><input type="checkbox"></td>
    <td><input type="checkbox"></td>
  </tr>
</table>