如果输入为空,我如何检查jQuery?
我试过了:
$('#location').keydown(function(event) {
if($("#location").val().length == 0 ) { $("#finalSearch").attr('disabled', 'true'); }
if($("#location").val().length != 0 ) { $("#finalSearch").removeAttr('disabled'); }
});
但是,即使我的领域里什么也没有,我想要提醒警报。
我想做什么:
没有任何内容:错误消息。
有一个字母:没有错误信息。
我删除了这封信:错误信息。
如果该字段是填充但另一个功能:没有错误消息。
感谢您的帮助。
答案 0 :(得分:5)
您应该使用keyup
事件而不是keydown
- 关键 down 该字段尚未更新,因此此时测试value
不会不能给你正确的结果。
在blur
上进行相同的测试也没有什么坏处,以允许用户通过编辑菜单或拖放或其他任何内容更改字段。
此外,除非使用真正旧版本的jQuery,否则使用.prop()
方法而不是.attr()
来设置禁用状态:
$('#location').on('keyup blur', function(event) {
$("#finalSearch").prop('disabled', this.value.length === 0);
});
答案 1 :(得分:0)
你已经在那里,不知道问题出在哪里;但这很有效。
$('#location').on('keyup', function() {
console.log($(this).val().length);
if($(this).val().length == 0) {
$('#finalSearch').prop('disabled', true);
}else{
$('#finalSearch').prop('disabled',false);
}
});
<强> The jsFiddle 强>