我正在构建一个搜索json对象的函数,并拉出某个邮政编码中的所有学校。我有一个脚本,当搜索出现积极时,但我无法测试负面结果条件,所以我可以提出“找不到学校”的消息。我已经剥离了一个寻找负面结果的位:
$('#search').keyup(function(){
if ($(this).val().length > 4) {
$('#results').css({ "display": 'block'});
var searchField = $('#search').val();
var regex = new RegExp(searchField, "i");
$.getJSON('schools.json', function(data) {
$.each(data, function(key, val){
if ((val.zip.search(regex) == -1) ) {
var statusmsg2 = "No school found for that zip code. Please check it and try again.";
$('#results').html(statusmsg2);
}); /* End 'if search length < 1' */
}); /* End 'getJSON' */
} /* End 'if' */
}); // end keyup function
基本问题是我不知道怎么写条件。我应该测试什么而不是:
if ((val.zip.search(regex) == -1) )
或者完全有不同的方法吗?
答案 0 :(得分:0)
将错误消息设置为默认消息,然后在找到匹配项时覆盖它。
如果你真的包含了找到匹配的代码,那会更有帮助,但是像这样的
$('#search').keyup(function () {
if ($(this).val().length > 4) {
var searchField = $('#search').val();
var regex = new RegExp(searchField, "i");
$('#results').css("display", 'block');
$.getJSON('schools.json', function (data) {
var statusmsg = "No school found for that zip code. Please check it and try again.";
$.each(data, function (key, val) {
if (val.zip.search(regex) != -1) {
statusmsg = val.message; // or whatever
return false;
});
});
$('#results').html(statusmsg);
});
}
});