2014-01-20 18 views
3

小提琴 - http://jsfiddle.net/XH5zm/
JSBin - 通過如果複選框被選中或不切換http://jsbin.com/UKIweJE/1/editJQuery的:如果選中啓用其他禁用

我想啓用/禁用輸入文本框。

$(document).ready(function() { 
    if ($('.enable-padding').attr('checked') === true) { 
    $('.grab-padding').attr('enabled','enabled'); 
    $('.grab-padding').val("13px"); 
    } else { 
    $('.grab-padding').attr('disabled','disabled'); 
    $('.grab-padding').val(" "); 
    } 
}); 

我究竟做錯了什麼?

任何幫助,非常感謝。

回答

5
  1. 你不聽change事件。
  2. 沒有enabled屬性。
  3. .attr()不會返回布爾值,也不會更改屬性。

    $('.enable-padding').on('change', function() { 
        $('.grab-padding').prop('disabled', !this.checked) 
             .val(this.checked ? "13px" : ""); 
    }); 
    
1

您必須添加一個事件改變複選框的狀態:

$(document).ready(function() { 
    $('.enable-padding').on('change',function(){ 
    if ($('.enable-padding').is(':checked')) { 
    $('.grab-padding').removeAttr('disabled'); 
    $('.grab-padding').val("13px"); 
    } else { 
    $('.grab-padding').attr('disabled','disabled'); 
    $('.grab-padding').val(" "); 
    } 
    }); 
}); 

和更改輸入此:

<input class="grab-padding" type="text" value="13px"></td> 
0
$('#chbox').click(function() { 
    if ($('#txt_data').attr('disabled') =='disabled'){ 
     $('#txt_data').removeAttr('disabled'); 
    }else{ 
     $('#txt_data').attr('disabled','disabled'); 
    } 

}); 
相關問題