我在函数中包含以下JS代码,该函数响应用户按下Enter的功能(未显示)。我关注的部分代码如下所示:
$.each(cityhash,function(key,value){
if(value['city']== user_input) {
$('#city').append(value['city']);
$('#state').append(value['state']);
}
我有以下哈希值:
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市在哈希中出现了两次。我的问题是,如果有两个城市比赛,那么这些城市就直接并排放置。例如LittelsideLittelside。我希望每个匹配的Littelside都出现在自己的div中。我该怎么做呢?
如何更正我的代码以将所有匹配的城市返回到各自的div中?
先感谢您
最佳答案
与其在id="city"
元素中设置城市文本,不如在id="cities"
中创建元素,然后在其中添加城市元素。
$('#cities').append('<div class="city">' + value['city'] + ', ' +
value['state'] + '</div>');