2012-05-09 50 views
0

我在组合框中使用Jquery ui自动完成插件,并从JSON文件中读取值。问题出在我的JSON文件中。我有具有相同价值的字段。喜欢这个。 ({ 名字:一个 }, { 名称:一个 }, { 名称:B })Jquery自动完成功能,在组合框中具有唯一值

所以,当我输入 'A' 在组合框中,它给了我2 'A'秒。但我只需要一个(我只需要JSON文件中的唯一值)。我该怎么做呢?我现在没有完整的代码,这就是为什么我不能说。对不起,谢谢。

回答

1

编辑:你可以使用类似的东西从json数组中删除重复的条目,然后将数据发送到jQuery自动完成插件。

var names = {}; 
var param = "name" 
$.each(data.people, function() { 
    if (!names[this[param]]) 
     names[this[param]] = []; 
    names[this[param]].push(this); 
}); 

然后我们可以做source: names

+0

谢谢@farhanahmad所以我现在要做的是,把JSON文件并将其分配给来自'source:'元素的jQuery自动完成插件。所以它就像'源:人'。 'people'是我的JSON文件。你建议先生是不是直接给人'JSON文件,过滤它的唯一值。好。我明白那个。但在此之后,我如何将它设置为'source'属性? – thilok

+0

我更新了我的答案:) –

+0

非常感谢您宝贵的时间。将尝试这一点,让你知道。 @FarhanAhmad – thilok

1

试试这个....唯一的值可以在输入字段中添加

select: function(event, ui) { 

     var terms = split(this.value); 
     // remove the current input 
     terms.pop(); 
     // add the selected item 

     if(!($.inArray(ui.item.value,terms) > -1)) 
     terms.push(ui.item.value); 


     // add placeholder to get the comma-and-space at the end 
     terms.push(""); 
     this.value = terms.join(", "); 
     return false; 
    } 
相关问题