我在一个函数中有以下JS代码,它响应用户按下enter(不显示)。我关注的部分代码如下所示:
$.each(cityhash,function(key,value){
if(value['city']== user_input) {
$('#city').empty().append(value['city']);
$('#state').empty().append(value['city']);
}
我有以下哈希:
cityhash = [{"address":"07288 Albertha Station","city":"Littelside","state":"Missouri"},{"address":"0615 Mervin Rapid","city":"Tessmouth","state":"South Carolina"},{"address":"779 Elody Lock","city":"Littelside","state":"New Mexico"}]
正如您所看到的,Littelside市在哈希中出现了两次。我的问题是上面的$ .each函数,只显示2个Littlesides中的1个。我想在哈希中显示所有匹配,而不只是1匹配。
如何更正我的代码以返回所有匹配的城市,而不仅仅是显示一个城市?
提前谢谢
答案 0 :(得分:3)
你需要摆脱empty()调用。你正在清除每场比赛的#city /#状态。
$('#city').append(value['city']);
$('#state').append(value['state']);
此外,您可能希望将州名而不是城市名附加到#state元素