我有 2 个输入文本字段,当用户尝试在 A 输入文本字段中输入任何值时,B 输入字段需要禁用,不允许 B 字段中的任何条目。同样,如果用户尝试在 B 输入字段中输入任何输入,则需要禁用 A 输入字段。任何人都可以帮助我如何在 Jquery 中编写代码
问问题
1237 次
4 回答
3
A
使用和的输入字段名称B
。
$('input[name="A"]').on('change', function(){
if($(this).val() !== ''){
$('input[name="B"]').attr('disabled', 'disabled');
}else{
$('input[name="B"]').removeAttr('disabled');
}
});
$('input[name="B"]').on('change', function(){
if($(this).val() !== ''){
$('input[name="A"]').attr('disabled', 'disabled');
}else{
$('input[name="A"]').removeAttr('disabled');
}
});
于 2012-08-16T06:19:52.613 回答
3
两个答案都是正确的,只是决定使代码简短:
$('input.inputA').keyup(function () {
$('input.inputB').prop('disabled', this.value.length === 0 ? false : true);
});
$('input.inputB').keyup(function () {
$('input.inputA').prop('disabled', this.value.length === 0 ? false : true);
});
演示:http: //jsfiddle.net/AnDxC/
于 2012-08-16T06:50:10.443 回答
2
假设
<input type="text" class="inputA" />
<input type="text" class="inputB" />
和JS:
$(function(){
$("input").on("keyup", function(){
if($(this).hasClass("inputA") && $(".inputA").val()){
$("input.inputB").prop("disabled", true);
$("input.inputA").prop("disabled", false);
} else if($(this).hasClass("inputB") && $(".inputB").val()){
$("input.inputA").prop("disabled", true);
$("input.inputB").prop("disabled", false);
} else {
$(".inputA, .inputB").prop("disabled", false);
}
});
});
于 2012-08-16T06:20:58.990 回答
1
如果您有下一个 HTML:
<input type="text" name="test1" id="test1" value=""/>
<input type="text" name="test2" id="test2" value=""/>
我的解决方案是:
<script>
$(function(){
$('#test1, #test2').keyup(function(){
var $test1 = $('#test1');
var $test2 = $('#test2');
$test1.prop('disabled', $test2.val() && ! $test1.val());
$test2.prop('disabled', $test1.val() && ! $test2.val());
});
});
</script>
这是一个例子
于 2012-08-16T06:50:47.000 回答