jquery autocomplete:选择了几个元素,如何在下拉菜单中不显示所选元素?

时间:2011-03-15 10:14:10

标签: javascript jquery autocomplete

我已经实现了一个显示下拉列表的jquery自动完成输入。

我正在使用该字段来选择多个元素,因此当我选择一个元素并按下输入时,输入将被清空,我可以选择另一个元素。

我怀疑:如果不在下拉列表中显示已选择的元素,我该怎么做?

这是我的js代码:

  jQuery("#user_autocomplete")
  .autocomplete('autocompleteUser', jQuery.extend({}, {
    dataType: 'json',
    parse: function(data) {

      var parsed = [];
      for (key in data) {

    parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] };
      }

      return parsed;

      }
  } ))
  .result(function(event, data) {
   $('#field_users').append('<div class="user_choosen" id=' + data[1] + '>' + data[0] +'<a class="link_delete_user" href="#" onclick="javascript:deleteUser(' + data[1] +')">Delete</a></div>'); 
    $('#user_autocomplete').val(''); 

  });

此致

哈维

2 个答案:

答案 0 :(得分:0)

我的建议是编辑自动填充的源属性。执行获取并收到JSON数据后,删除div.user_chosen中已有的元素。您可以随时编辑自动填充的选项。您需要修改source选项。

答案 1 :(得分:0)

在你的parse函数中,过滤掉那些已经选择的元素,不要将它们添加到解析的[]数组中。