我正在使用JQuery Autocomplete插件,其中包含l ocal data stored in a array:
data = [city1, city2, city3, city1]
用户选择数据元素后,例如city 1
,我将其存储在user_input
中。我使用用户输入来读取包含城市,州邮政编码和名称的哈希。当用户点击进入时,脚本会在屏幕上显示散列的每个元素。这也很有用:
$(document).keypress(function(e) {
if(e.keyCode == 13) {
var user_input = $("input#example").val()
$.each(personinfo,function(key,value){
if(value['city']== user_input){
$('#city').empty().append(value['city']);
$('#state').empty().append(value['state']);
$('#zip').empty().append(value['zip']);
$('#name').empty().append(value['name']);
}
})
当有两个相同的键时会出现问题。例如,名称"John Doe"
和"Jane Doe"
,住在同一个城市:city1
。因此,city1
在数据数组中出现两次,如上所示。
data
在此方法中定义:
var data = new Array();
$(document).ready(function(){
$.each(personinfo,function(key,value){
myarray.push(value['city'])
});
});
如何在按键功能中区分上述数组中的city1和city1?
personinfo地图对象:
{"address":"07288 Albertha Station","city":"Littelside","created_at":"2011-05-25T19:24:51Z","id":1,"name":"Jane Doe","state":"Missouri","updated_at":"2011-05-26T21:25:54Z","zip":"75475-9938"},{OBJECT 2}, {OBJECT 3}, ....
答案 0 :(得分:1)
正如一些评论所暗示的那样,用相同的密钥修复问题是不可能的:修复它的唯一方法是使用不相同的密钥: - )
我只是将城市和国家结合起来制作钥匙;似乎应该给你一个独特的键集。