Jquery中的键控

Jquery中的键控,jquery,Jquery,我想写在一个字段中,然后由下面的人打开。我想知道,如果我在一个字段中输入文本,然后其他字段打开,但其他字段未打开。请帮帮我 <html> <head> <script type="text/javascript" src="jquery.js"></script> <script> $(document).ready(function() { $('#name').keyup(function() {

我想写在一个字段中,然后由下面的人打开。我想知道,如果我在一个字段中输入文本,然后其他字段打开,但其他字段未打开。请帮帮我

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
<script>

    $(document).ready(function() {
        $('#name').keyup(function() {
            if($('#name' == '')){
                $('#version').attr( 'disabled', 'disabled' );
            }
            else {
                $('#version').removeAttr( 'disabled', 'disabled');  
            }   

        });
    });




</script>
</head>
<body>
    <div>
        <form>
        Name: <input type="text" name="name" id="name" />
        Version: <input type="text" name="version" id="version"/>
        Build: <input type="text" name="build" id="build"/>
        <input type="submit" value="Submit" id="submit"/></br>
        <input type="text">
        </form>
    </div>
</body>
</html>

$(文档).ready(函数(){
$('#name').keyup(函数(){
如果($('#名称'=''){
$('#version').attr('disabled','disabled');
}
否则{
$('版本').removeAttr('禁用','禁用');
}   
});
});
姓名:
版本:
建造:


您无法插入div的
val
以检查其是否为空,请尝试以下操作:

 $(document).ready(function() {
        $('#name').keyup(function() {
             $('#version').prop( 'disabled', false);  
        }
        else {
            $('#version').attr( 'disabled', true);
        }   

        });
    });

您没有插入div的
val
,以检查div是否为空。请尝试以下操作:

 $(document).ready(function() {
        $('#name').keyup(function() {
             $('#version').prop( 'disabled', false);  
        }
        else {
            $('#version').attr( 'disabled', true);
        }   

        });
    });

您需要测试
#name
字段的值,为此您可以使用
$(this.val()

您的测试将始终失败,因为两个字符串
'#name'=''
永远不相等

另外,最好使用它来更改运行时dom属性,如
禁用
选中

$(document).ready(function() {
    $('#name').keyup(function() {
        $('#version').prop( 'disabled', !!$(this).val());  
    });
});

演示:

您需要测试
#name
字段的值,为此您可以使用
$(this).val()

您的测试将始终失败,因为两个字符串
'#name'=''
永远不相等

另外,最好使用它来更改运行时dom属性,如
禁用
选中

$(document).ready(function() {
    $('#name').keyup(function() {
        $('#version').prop( 'disabled', !!$(this).val());  
    });
});

demo:

您需要考虑条件中的<代码>名称>代码>代码> >代码> Value>代码>。我还认为将事件处理程序绑定到
blur
事件会更合适

$(document).ready(function() {
    $('#name').blur(function() {
        if($('#name').val() == ''){
            $('#version').attr( 'disabled', 'disabled' );
        }
        else {
            $('#version').removeAttr( 'disabled', 'disabled');  
        }   

    });
});

<>强>工作示例<强>

您需要考虑条件中的<代码>名称>代码>代码> > <代码> >代码。我还认为将事件处理程序绑定到
blur
事件会更合适

$(document).ready(function() {
    $('#name').blur(function() {
        if($('#name').val() == ''){
            $('#version').attr( 'disabled', 'disabled' );
        }
        else {
            $('#version').removeAttr( 'disabled', 'disabled');  
        }   

    });
});
工作示例

试试这个:

这应该是:

$('#name').val() == ''
或者最好用
$(this.val()
来表示它,因为我们在
$(“#name')
元素函数的上下文中。

试试这个:

这应该是:

$('#name').val() == ''

或者最好用
$(this.val()
表示它,因为我们在
$(“#name”)
元素函数的上下文中。

@Roman查看建议移动到模糊事件的更新答案。@Roman查看建议移动到模糊事件的更新答案。