Javascript 如果我键入一对中的另一个,则禁用反向输入
如果我输入一对中的另一个输入字段,然后通过点击backspace删除输入,那么如何禁用一个输入字段?例如,如果输入字段中没有任何内容,则可重新启用第二个输入字段,反之亦然。到目前为止,我的代码如下,但不起作用 JavaScript:Javascript 如果我键入一对中的另一个,则禁用反向输入,javascript,jquery,disabled-input,prop,Javascript,Jquery,Disabled Input,Prop,如果我输入一对中的另一个输入字段,然后通过点击backspace删除输入,那么如何禁用一个输入字段?例如,如果输入字段中没有任何内容,则可重新启用第二个输入字段,反之亦然。到目前为止,我的代码如下,但不起作用 JavaScript: //disable the opposite input field var ATGvalue = $('input#atgOrderId').val(); var BQvalue = $('input#bqOrderId').val();
//disable the opposite input field
var ATGvalue = $('input#atgOrderId').val();
var BQvalue = $('input#bqOrderId').val();
if ( ATGvalue.length > 0) {
$('input#bqOrderId').prop("disabled", true);
} else {
$('input#bqOrderId').removeAttr("disabled");
}
if ( BQvalue.length > 0) {
$('input#atgOrderId').prop("disabled", true);
} else {
$('input#atgOrderId').removeAttr("disabled");
}
HTML:
bqOrderId
阿特戈德里德
您需要在事件中包含代码,以检查用户何时键入以下内容:
$(document).on('keyup','#bqOrderId',function(){
//your code
});
$(document).on('keyup','#atgOrderId',function(){
//your code
});
要更改此项,请执行以下操作:
$('input#bqOrderId').prop("disabled", true);
$('input#atgOrderId').prop("disabled", true);
为此:
$('input#bqOrderId').attr("disabled",true);
$('input#atgOrderId').attr("disabled", true);
您的代码确实可以工作,但只能工作一次-为了让它不断更新,您首先将JS包装在事件处理程序函数中,并将其附加到输入元素:
function mutuallyExclusive( e ) { ... }
$( '#bqOrderId' ).on( 'change keyup', mutuallyExclusive );
$( '#atgOrderId' ).on( 'change keyup', mutuallyExclusive );
看
我将其附加到
change
和keyup
事件:change
以处理编程(脚本化)更改,以及keyup
以“即时”方式更新字段的状态-否则,它将等待用户从输入中移除焦点,以调用更改
事件。此操作有效,但它仅在第一次加载页面时运行。我需要它不断地观察这些值的长度。
function mutuallyExclusive( e ) { ... }
$( '#bqOrderId' ).on( 'change keyup', mutuallyExclusive );
$( '#atgOrderId' ).on( 'change keyup', mutuallyExclusive );