具有唯一值的组合框中的Jquery自动完成功能

时间:2012-05-09 18:11:04

标签: javascript jquery json jquery-ui autocomplete

我在组合框中使用Jquery ui自动完成插件,我正在从JSON文件中读取值。问题出在我的JSON文件中。我有相同价值的字段。像这样。 ({ 名称:A }, { 名称:A }, { 名称:B })

所以当我在组合框中键入'a'时,它会给我2'a'。但我只需要一个(我只需要JSON文件中的唯一值)。我该怎么做呢?我现在没有完整的代码,这就是我无法解释的原因。对不起,谢谢你。

2 个答案:

答案 0 :(得分:1)

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

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

然后我们可以source: names

答案 1 :(得分: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;
    }