我已经实现了一个显示下拉列表的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('');
});
此致
哈维
答案 0 :(得分:0)
我的建议是编辑自动填充的源属性。执行获取并收到JSON数据后,删除div.user_chosen
中已有的元素。您可以随时编辑自动填充的选项。您需要修改source
选项。
答案 1 :(得分:0)
在你的parse函数中,过滤掉那些已经选择的元素,不要将它们添加到解析的[]数组中。