我正在尝试使用为Multiple Select 选择的插件构建我的下拉菜单。这是我基于的行为:
所以,而不是在我的选择中有 3 个硬编码的 < 选项 >。我希望这个列表是由 ajax 请求填充的 json 数组的值。这将由自动完成触发。
因此,如果用户键入“汽车”,我会通过 ajax 调用发送这封信,然后我会返回一个这样的数组:
[{"id":"2489","name":"carrie"},{"id":"2490","name":"Caroline"},{"id":"2491","name": “卡罗尔”}]
编码:
$(function() {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({allow_single_deselect:true});
$('.chzn-choices input').autocomplete({
source: function( request, response ) {
$.ajax({
url: "/change/name/autocomplete/"+request.term+"/",
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
$('ul.chzn-results').append('<li class="active-result">' + item.name + '</li>');
}
});
}
});
结果:
我在下拉列表中输入“汽车”,我得到“汽车没有结果”,然后我得到了所有结果,如我所愿。
1. 为什么我收到“无结果”消息,因为我可以在我的 json 数组和列表中看到我得到了结果。
-----------------------------
当我删除“汽车”并输入“山姆”时。“sam”的结果显示在“car”结果之后。(基本上,我看到了两者的结果,而不仅仅是我当前搜索的结果)
2.我想清除keyUp上的ul??以为插件已经这样做了
-----------------------------
当我单击一个名称以实际选择它并将其添加到选择中时,我在 selected.js 文件中收到一个 javascript 错误
项目未定义
“item.selected = true;” 第 732 行
插件链接:http: //harvesthq.github.com/chosen/chosen/chosen.jquery.js
它没有在选择中添加任何内容。
3. 不知道为什么会这样
-----------------------------
你们知道我在做什么错吗?我完全被困在这里......!
哦,顺便说一句,我不介意更改插件源,因为它是我唯一使用它的地方....