JQuery 自动完成 - 强制选择
JQuery Autocomplete - Force choice
我有一个使用JQuery自动完成的表单,它运行得很好。现在我需要另一个元素来强制用户在自动完成输入中选择有效选项。可以键入他们想要的任何内容,并且所有内容都通过自动完成进行过滤。但是他们必须从服务列表中选择一些东西。否则,输入字段必须被清空。尝试了一些更改方法,然后选择无济于事。这是我的自动完成代码。我看到了一些使用数据而不是源进行操作的示例。这似乎有很大的不同
$(function () {
$("#sp_name").autocomplete({
minLength: 2,
delay: 300,
source: function (request, response) {
$.ajax({
url: "./Search/",
dataType: "json",
data: {
term: request.term,
zoekterm: $("#al").html()
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item.naam,
value: item.naam
}
}));
}
});
}
})
});
试试这个:
我在这里使用本地列表,但您也可以通过 json 数据源实现这一点。只需添加一个更改事件。唯一的问题是,如果用户不点击建议,它将变为空白(即使用户输入与建议相同的文本)。用户必须单击该建议。
var list = ["c", "c++", "c#","Basic","Mongo"];
$('#auto').autocomplete({
source: list,
select: function (event, ui) {
$(this).val(ui.item ? ui.item : " ");},
change: function (event, ui) {
if (!ui.item) {
this.value = '';}
//else { Return your label here }
}
});
JsFidle为它:http://jsfiddle.net/sarcastic/7KdZP/112/
In your case, Change function would be something like this:
change: function (event, ui)
{
if (!ui.label) { this.value = ''; }
}
相关文章:
- 根据复选框选择 jQuery 更新文本框
- 不能同时通过类和数字 ID 选择 jquery 元素
- 如何在jQuery.load(html)之后选择jQuery.Treeview中的当前元素
- 限制用户选择jQuery日期选择器以外的日期
- 如何使用“属性以选择器开头”中的 ID 变量来选择 jQuery 中的元素
- 一个变量,多个复选框选择/取消选择 jQuery
- 动态添加和删除项目以选择 jquery
- 选择 jQuery 的第一个元素
- 使用 javascript 选择 jQuery CSS 类型下拉列表
- 从选择“jQuery”中删除所有选项,但只删除一个选项
- 添加将列表项添加到<选择> jQuery 时要捕获的事件
- 取消选择 jquery 选择器
- 按 id 选择 jQuery 自动完成值
- 选择jquery的问题
- 按数据属性选择(JQuery)
- 如何在动态创建表后保留下拉选择-Jquery
- 如果选择JQuery幻灯片,则不显示动画
- 已选择jquery上的更新选项
- 如何在选择jQuery选项卡时正确更新URL哈希
- 在选择JQUERY时填充输入