我有一个小的jQuery函数,它根据zipcode输入字段从服务器收集数据:
$(document).ready(function(){
$('#id_zipcode').keyup(function() {
var selected = this.value;
if (selected.length > 3) {
$.getJSON(get_zip_factors_url, {
zipcode: selected
}, function(env_data, jqXHR) {
$('#snow_fall').html(env_data[0].snow);
$('#wind_speed').html(env_data[0].wind);
});
}
}).keyup();
});
现在效果很好。但是,如果用户删除了字符,则为#snow_fall
和#wind_speed
呈现的值仍然存在。有什么方法可以注册这个删除并在用户删除导致服务器没有返回有效数据的字符时将值恢复为“不可用”字符串吗?
任何帮助都非常感激。
答案 0 :(得分:1)
我可能只是修改响应:
$.getJSON(get_zip_factors_url, {
zipcode: selected
}, function(env_data, jqXHR) {
if(env_data[0].valid == true )
{
$('#snow_fall').html(env_data[0].snow);
$('#wind_speed').html(env_data[0].wind);
} else {
$('#snow_fall').html('Not Available');
$('#wind_speed').html('Not Available');
}
});
或者,你可以跟踪输入的zip或全局的长度,只需检查一下,而不必麻烦地进行ajax调用。
答案 1 :(得分:1)
如果您要查找邮政编码值,为什么不更改为if(selected.length == 5),然后使用if语句的else将snow_fall和wind_speed设置为“不可用”?