【发布时间】:2015-10-16 19:02:29
【问题描述】:
我想知道是否有任何方法可以在已呈现的下拉自动完成菜单中添加新项目。
我要做的是使用 ajax 从服务器获取固定数量的结果,并在最后显示“显示更多...”链接。如果选中,此链接应启动另一个 ajax 查询并在同一个下拉列表中加载更多项目。
有意义吗?我也不确定我是不是想多了,还有更简单的方法来执行相同的任务。
编辑 1
我目前拥有的代码与此类似:
$(function () { $("#srchOperator").autocomplete({ source: function (request, response) { $.ajax({ url: "someURL", type: "POST", dataType: "JSON", data: JSON.stringify(somePostData), success: function (data) { response($.map(data), function(item) { return { label: item.fields['op'], id: item._id } }); var totalResults = data.total if (totalResults - 10 > 0) { $('.ui-autocomplete').append('<li ' + 'class=ui-menu-item><a ' + 'href="#">(' + (totalResults - 10) + ' more...)</a></li>'); } }, }); }, minLength: 2, }) });
第一个 ajax 调用将只检索 10 个元素,并且“更多”链接应该执行一个 ajax 调用,将项目附加到其回调的下拉列表中。
【问题讨论】:
-
如果可以的话,请您发布您的代码片段
-
我添加了一小段代码。我希望现在更容易理解了。
标签: javascript jquery ajax jquery-ui jquery-autocomplete