禁用相反的输入,如果我键入另一对
问题描述:
如何禁用一个输入字段,如果我键入另一对输出,然后如果我通过点击退格删除输入例如,所以没有输入字段重新启用第二个输入字段,反之亦然。我到目前为止的代码是低于,但不工作。禁用相反的输入,如果我键入另一对
的JavaScript:
//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:
<label for="bqOrderId">bqOrderId </label><input name="bqOrderId" id="bqOrderId" type="text" />
<label for="atgOrderId">atgOrderId </label><input name="atgOrderId" id="atgOrderId" type="text" />
答
您的代码的工作,但只有一次 - 有它不断更新,你先换的JS在事件处理函数,并将其连接到您的输入元素:
function mutuallyExclusive(e) { ... }
$('#bqOrderId').on('change keyup', mutuallyExclusive);
$('#atgOrderId').on('change keyup', mutuallyExclusive);
我重视它的change
和keyup
事件都:change
处理程序上的(脚本)的变化,并keyup
为“即时”更新域状态 - 否则它将等待,直到用户从输入删除焦点调用change
事件。
答
你需要包括一个事件里面的代码来检查当用户类型是这样的:
$(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);
这可以工作,但它只能在页面的第一次加载时运行。我需要它不断观察这些值的长度。 –