当用户在文本框中输入时如何启用其他控件,如果他删除或文本框为空则禁用?

How to enable other controls when a user is typing in a text box and disable if he deletes or text box is empty?

我正在尝试禁用一组基于文本框的控件。如果用户在该文本框中输入了一个值,则应启用该控件;如果用户删除该值或该值仍为空,则应禁用该控件。

假设您的文本框 ID 是 TxtBoxName 并假设您将控件放在 div 或任何其他容器中并且其名称为 controls ,以下是我的解决方案

$('#TxtBoxName').on('change',function(){
    if($(this).val().length == 0)
    {
        $('#controls').attr('disabled','disabled');
    }
    else 
    {
        $('#controls').removeAttr('disabled');
    }
})

您想禁用哪种控件?如果你想禁用表单控件,你可以使用下面的代码:

$( '#txtName' ).on( 'input change paste', function() {
  var diasabled = !$.trim( $( this ).val() );

  $( 'input' ).not( this ).each( function() {
    $( this ).prop( 'disabled', diasabled )
  } )
} );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form name="frm" action="#" method="POST">
  <div>
    <label for="txtName">First Name:</label>
    <input type="text" id="txtName" required>
  </div>
  <div>
    <label for="txtFamily">Last Name:</label>
    <input type="text" id="txtTel" disabled>
  </div>
  <div>
    <label for="txtEmail">Email Address:</label>
    <input type="email" id="txtEmail" disabled>
  </div>
  <input type="submit" value="Submit" disabled>
</form>