Javascript JQuery:If选中Enable-else-Disable

Javascript JQuery:If选中Enable-else-Disable,javascript,jquery,Javascript,Jquery,小提琴- JSBin- 我试图通过切换复选框是否选中来启用/禁用输入文本框 $(document).ready(function() { if ($('.enable-padding').attr('checked') === true) { $('.grab-padding').attr('enabled','enabled'); $('.grab-padding').val("13px"); } else { $('.grab-padding').attr('

小提琴-
JSBin-

我试图通过切换复选框是否选中来启用/禁用输入文本框

$(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(" ");
  }
});
我到底做错了什么


非常感谢您的帮助。

您必须添加一个事件以更改复选框的状态:

$(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>

  • 您不会收听
    更改
    事件
  • 没有启用
    属性
  • .attr()
    不会返回布尔值,也不会更改属性

    $('.enable-padding').on('change', function() {
        $('.grab-padding').prop('disabled', !this.checked)
                          .val(this.checked ? "13px" : "");
    });
    
  • $('#chbox').click(function () {
      if ( $('#txt_data').attr('disabled') =='disabled' ){
          $('#txt_data').removeAttr('disabled');
      }else{
             $('#txt_data').attr('disabled','disabled');
      }
    
    });