2011-03-15 27 views
0

我已经实现了一个显示下拉列表的jquery自动完成输入。jquery autocomplete:选择了几个元素,如何在下拉菜单中显示选定的元素?

我使用该字段来选择几个元素,所以当我选择一个元素,然后按下输入输入被清空,我可以选择另一个。

我怀疑:我能做些什么来不在下拉列表中显示已被选中的元素?

这是我的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(''); 

    }); 

问候

哈维

+0

为什么要隐藏用户的选择? – 2011-03-15 10:18:01

+0

看起来您需要一个自定义的小部件自动完成功能。在它的项目解析部分中,您不会选择将它们添加到列表中。 – 2011-03-15 10:23:13

回答

0

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

0

在您的分析函数中,过滤出那些已经选择的元素,并且不要将它们添加到已分析的[]数组中。

相关问题