所以我的选择器中包含.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();
}
但它不起作用
如果你觉得我没有解释自己足够好,请随意提问!
答案 0 :(得分:0)
您的.length > 0
测试已在检查空输入。将您想要的内容放在else
子句中,而不是showStatus(0)
。
else {
$("#status div").hide();
}