Javascript 检查文本框是否为空,然后放置属性

Javascript 检查文本框是否为空,然后放置属性,javascript,jquery,Javascript,Jquery,如果文本框4已填充,则禁用其他文本框。我的div中有多个文本框 例如: 如果我在textbox4中放入文本,则textbox1将变为禁用。然后,如果删除textbox4中的文本,则textbox1的文本框将变为启用 以下是示例html: <div class="main-wrapper"> <div class="form-text-wrapper"> <div><input type="text" class="form-text" val

如果文本框4已填充,则禁用其他文本框。我的div中有多个文本框

例如: 如果我在textbox4中放入文本,则textbox1将变为禁用。然后,如果删除textbox4中的文本,则textbox1的文本框将变为启用

以下是示例html:

<div class="main-wrapper">
  <div class="form-text-wrapper">
    <div><input type="text" class="form-text" value="" name="text1" id="text1"></div>
    <div><input type="text" class="form-text" value="" name="text2" id="text2"></div>
    <div><input type="text" class="form-text" value="" name="text3" id="text3"></div>
    <div><input type="text" class="form-text" value="" name="text4" id="text4"></div>
  </div>
</div>
请帮忙。。。谢谢你

jQueryfunction${ //更改每当更改test4的值时执行的事件处理程序 $'text4'。在'change'上,函数{ //查找current.form文本包装下的所有输入元素,并根据text4的值设置其禁用状态,test4除外 $this.closest'.form text wrapper'.find'input'.notthis.prop'disabled',this.value.length }; }
好的,那么你正在做的一些问题

首先,您需要在每次这些文本框中的一个发生更改时执行代码。您可以将该功能包装到一个函数中,并将其添加到每个文本框上的更改事件中。我在下面添加了一个示例。注意:这个例子可能比显式地将更改添加到每个文本框要好得多,但我将留给您去做

其次,在jquery包装器$name.length>=1->Don't中,执行长度是否大于0的比较。我在代码示例中也删除了这一点

第三,我对这个要求有点困惑。是否希望仅在第一个文本框中切换禁用/不禁用?阅读您的代码,这就是您试图实现的目标。如果您想要禁用所有其余的文本框,那么Arun P Johny的函数将执行您想要的操作

function onTextChange(){
    console.log('running');
    $('.main-wrapper').each(function(){
      var name = $('#text4', this).val();
      var disForm = $('#text1');
      if (name.length >= 1) {
        $(disForm, this).attr('disabled', 'disabled');
      } else {
        $(disForm, this).removeAttr('disabled');
      }
    });
}

$('#text1').on('change', onTextChange);
$('#text2').on('change', onTextChange);
$('#text3').on('change', onTextChange);
$('#text4').on('change', onTextChange);

嗨,戴夫,非常感谢你清理了一切!我想,阿伦的代码就是我要找的。再次感谢你:你好,阿伦!谢谢你简化了代码。那一个比我的要干净得多,我的错误太多了,尽管我不明白。最近的和.prop,现在会用谷歌搜索它们。谢谢@这些都是api方法。。你可以很容易地在
function onTextChange(){
    console.log('running');
    $('.main-wrapper').each(function(){
      var name = $('#text4', this).val();
      var disForm = $('#text1');
      if (name.length >= 1) {
        $(disForm, this).attr('disabled', 'disabled');
      } else {
        $(disForm, this).removeAttr('disabled');
      }
    });
}

$('#text1').on('change', onTextChange);
$('#text2').on('change', onTextChange);
$('#text3').on('change', onTextChange);
$('#text4').on('change', onTextChange);