单击复选框,表行不同步

时间:2016-10-17 08:45:46

标签: javascript jquery checkbox

当用户选中复选框本身时,如何启用按钮?目前,当用户点击表格行(可点击的行)时,将启用该按钮。

var btn = $("#btn");    
btn.attr("disabled","disabled");

$("#table tbody").on("click",".clickable-row", function (e) {   
    if (e.target.type !== 'checkbox') {
        $(':checkbox', this).trigger('click');

        if($(':checkbox', this).is(":checked") == true){
            btn.removeAttr('disabled');
            $('form').append('<input type="hidden" name="chk" value="'+$(':checkbox', this).val()+'" />');              

        } else {
            btn.attr("disabled", !$(':checkbox', this).is(":checked"));
        }
    }
});

1 个答案:

答案 0 :(得分:0)

试试这个:

var btn = $("#btn");    
btn.attr("disabled","disabled");

$("#table tbody").on("click", function (e) {
    var thisCheckbox = $(this).find('input:checkbox');
    var thisTd = $(this).find('td');

    if(thisCheckbox.is(":checked") || thisTd.is(e.target)){
        if($(this).find('td').is(e.target))
        {
            thisCheckbox.prop('checked', true);
        }
        btn.removeAttr('disabled');
        $('form').append('<input type="hidden" name="chk" value="'+$(':checkbox', this).val()+'" />');  
    }else{
        if(thisTd.is(e.target))
        {
            thisCheckbox.prop('checked', false);
        }
        btn.attr("disabled", !$(':checkbox', this).is(":checked"));
    }

});