我有一个jQuery UI自动完成下拉列表,我想选择其中一个选项,之后选择选项将被禁用/隐藏。例如:我有{“好”,“更好”,“最好”}选择“更好”,自动填充建议列表将是{“好”,“最好”}。
提前致谢。
这里有详细的例子(感谢@Whitaker)
<input id="myElement" />
var result; // should be array
$("#myElement").autocomplete({
source: function( request, response ) {
$.ajax({
type: "GET",
dataType: "json",
url: "autocomplete.php",
data: {
startsWith: request.term
},
async:false,
success: function( data ) {
result = data; // to do array assign process - not shown here
response($.ui.autocomplete.filter(result, request.term));
}
});
},
select: function(event, ui) {
var index = $.inArray(ui.item.value, result);
result.splice(index, 1);
}
});
jQuery ui splice()方法适用于静态列表,但是我在调试AJAX获取方法刷新结果的代码时遇到有趣的点,每次点击输入元素。有没有什么方法可以在客户端工作? (不改变.php)
答案 0 :(得分:2)
如果没有更多的背景,那么提供一个好的例子就有点难了,但如果你的例子就是你需要的,那么这应该有用:
var src = ['good', 'better', 'best'];
$("#auto").autocomplete({
source: function(request, response) {
response($.ui.autocomplete.filter(src, request.term));
},
select: function(event, ui) {
var index = $.inArray(ui.item.value, src);
src.splice(index, 1);
}
});