1

我有 2 个输入文本字段,当用户尝试在 A 输入文本字段中输入任何值时,B 输入字段需要禁用,不允许 B 字段中的任何条目。同样,如果用户尝试在 B 输入字段中输入任何输入,则需要禁用 A 输入字段。任何人都可以帮助我如何在 Jquery 中编写代码

4

4 回答 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 回答