Javascript 如果json文件中不存在名称,如何显示错误?
如果json文件中不存在名称,我就一直坚持如何显示错误。我试过if(searchField!=value.name.search(expression))和if(searchField!=value.name),但都不起作用。下面是我试过的代码。请帮忙。谢谢 js代码Javascript 如果json文件中不存在名称,如何显示错误?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,如果json文件中不存在名称,我就一直坚持如何显示错误。我试过if(searchField!=value.name.search(expression))和if(searchField!=value.name),但都不起作用。下面是我试过的代码。请帮忙。谢谢 js代码 $(document).ready(function() { $('.dropbox').css('border', 'none'); $.ajaxSetup({ cache: false }); $('#
$(document).ready(function() {
$('.dropbox').css('border', 'none');
$.ajaxSetup({
cache: false
});
$('#search').keyup(function() {
$('#searchResult').html('');
$('#state').val('');
var searchField = $('#search').val().trim();
var expression = new RegExp(searchField, "i");
console.log(expression);
$.getJSON('result.json', function(data) {
$.each(data, function(key, value) {
if (value.name.search(expression) != -1) {
$('.dropbox').css('border', '1px solid #EBEDF8');
$('#searchResult').append('<ul><li><div class="img_c"><img src="' + value.imgURL + '" alt="Profile Pic"></div><div class="content-box"> ' + value.name + '|<span>' + value.city + ', ' + value.state + '</span></div></li></ul>');
}
if (searchField === '') {
$('#searchResult').html('<div class="message">No matches found</div>');
}
});
});
});
$('#searchResult').on('click', 'li', function() {
var click_text = $(this).text().split('|');
$('.dropbox').css('border', 'none');
$('#search').val($.trim(click_text[0]));
$("#searchResult").html('');
});
});
试着这样做:
var数据=[
{
“id”:1,
“姓名”:“约翰”,
“城市”:“伦敦城”,
“州”:“伦敦”,
“imgURL”:“images/pic.svg”
},
{
“id”:2,
“姓名”:“马修”,
“城市”:“纽约市”,
“州”:“纽约”,
“imgURL”:“images/pic.svg”
},
{
“id”:3,
“姓名”:“杰克逊”,
“城市”:“华盛顿”,
“州”:“DC”,
“imgURL”:“images/pic.svg”
}
];
函数a(){
var searchField=$(“输入”).val();
if(searchField=''){$(“#results”).empty();return;}
var表达式=新的RegExp(searchField,“i”);
console.log(表达式);
$(“#结果”).empty().append(“”);
$。每个(数据、函数(键、值){
if((value.name).match(表达式)!=null){
$(“#结果”).append(“- ”+value.name+“|“+value.city+”、“+value.state+”
”);
}else{$(“#结果”).append('');$(“#结果”).append(
”)}
});}
要在没有匹配结果时显示错误,只需使用else子句
if (value.name.search(expression) != -1) {
$('.dropbox').css('border', '1px solid #EBEDF8');
$('#searchResult').append('<ul><li><div class="img_c"><img src="' + value.imgURL + '" alt="Profile Pic"></div><div class="content-box"> ' + value.name + '|<span>' + value.city + ', ' + value.state + '</span></div></li></ul>');
}else{
// if no match append error-message
$('#searchResult').append("<p>No results found </p>");
}
if(value.name.search(表达式)!=-1){
$('.dropbox').css('border','1px solid#EBEDF8');
$(“#searchResult”).append(“- ”+value.name+“|”+value.city+”、“+value.state+”
/ul>”);
}否则{
//如果没有匹配,则追加错误消息
$(“#searchResult”)。追加(未找到结果“”;
}
添加您的结果.json
&HTML代码在不知道数据的情况下很难提供帮助,只需像这样调试:console.log(value.name.search)
并检查您自己可能遇到的问题wrong@Rk003我已经更新了我的代码。@johnSmith我试过了,但没有得到任何线索。请帮助修复此问题。谢谢console.log(“NAME:”+value.NAME+“REGEXP:”+expression+“RESULT:“+value.name.search(expression))
您应该在那里找到一个错误,而且您没有告诉什么不起作用或发生了什么,它总是通过测试?或者它永远不会通过?我正在使用字符串,但无论如何,如果json文件中不存在名称,它不会帮助我找到如何显示错误。您能给我任何提示吗?谢谢
[
{
"id":1,
"name":"John",
"city":"London City",
"state":"London",
"imgURL":"images/pic.svg"
},
{
"id":2,
"name":"Mathew",
"city":"New York City",
"state":"NY",
"imgURL":"images/pic.svg"
},
{
"id":3,
"name":"Jackson",
"city":"Washington",
"state":"DC",
"imgURL":"images/pic.svg"
}
]
if (value.name.search(expression) != -1) {
$('.dropbox').css('border', '1px solid #EBEDF8');
$('#searchResult').append('<ul><li><div class="img_c"><img src="' + value.imgURL + '" alt="Profile Pic"></div><div class="content-box"> ' + value.name + '|<span>' + value.city + ', ' + value.state + '</span></div></li></ul>');
}else{
// if no match append error-message
$('#searchResult').append("<p>No results found </p>");
}