我有一个输入字段,用户可以输入文字,当他们输入内容时,如果有效,则会显示图像。输入错误的文字也是如此。
我想在输入字段中没有任何内容时更改/删除图像。
这是我的代码,但它似乎不起作用:
$('#input_link').on('mouseout', function(){
if($.trim($('#input_link').val().length = 0)){
$('#status_image').attr('src', 'images/link_related/stand_by.png');
}
});
答案 0 :(得分:4)
尝试:
$('#input_link').on('mouseout', function(){
if(!$.trim(this.value).length){
$('#status_image').attr('src', 'images/link_related/stand_by.png');
}
});
您的修剪支架不合适,您使用的是赋值运算符而不是比较。我认为mouseout可能不是一个很好的事件来做你正在做的事情。根据您想要显示图像的时间,使用keyup
或change
事件。
这可能是你想要实现的目标。
$('#input_link').on('input keyup paste', function () {
var hasValue = $.trim(this.value).length;
$('#status_image').attr('src', function () {
return hasValue ? 'http://placehold.it/20/00ff00' : 'http://placehold.it/20/ff0000';
});
});
<强> Demo 强>
答案 1 :(得分:3)
使用==
或===
来比较事物,
if($.trim($('#input_link').val().length == 0)){'
试试这个,
$('#input_link').on('mouseout', function(){
if($.trim($('#input_link').val()).length == 0){
$('#status_image').attr('src', 'images/link_related/stand_by.png');
}
});