当输入字段为空时隐藏元素

时间:2015-09-02 14:53:41

标签: jquery

所以我的选择器中包含.username是输入字段,我希望它能运行$(' #status div')。hide();当输入没有价值时,比如人们写了什么并删除了他们写的东西,我希望它隐藏状态div。我真的不确定最好的方法是什么,在一些帮助下会很好!

这是我到目前为止所做的代码:

    $('.username').on('keyup', function() {
    if ($(this).val().length > 0) {
        $.ajax({
            'url': 'api/username/',
            'type': 'post',
            'data': {'username': $('.username').val()},
            success: function(data) {
                if (data.available) {
                    showStatus(0);
                } else {
                    showStatus(1);
                }
            },
            error: function(data) {
                showStatus(2);
            },
            complete: function(data) {
                console.log('complete');
            }
        });
    } else {
        showStatus(0);
    }
});

function showStatus(id) {
    $('#status div').hide();
    $($('#status div')[id]).show();
}

我尝试过像

这样的事情
if($(".username").val()){
    $('#status div').hide();
}

但它不起作用

如果你觉得我没有解释自己足够好,请随意提问!

1 个答案:

答案 0 :(得分:0)

您的.length > 0测试已在检查空输入。将您想要的内容放在else子句中,而不是showStatus(0)

else {
    $("#status div").hide();
}