我正在处理自动完成并使用此http://jqueryui.com/demos/autocomplete/#combobox
现在我的查询是这个api为用户提供了键入和搜索组合框值的灵活性,但由于此用户可以输入任何内容。但是有没有办法限制用户提交错误的搜索查询。这是因为我的组合框将用作搜索条件,其值将提交到下一页,由于此功能,它会向页面提交错误的数据。
提前谢谢你...... 感谢
答案 0 :(得分:1)
您可以尝试使用自定义匹配器功能强制匹配或清除字段...
$("#input").autocomplete({ << initialise the autocomplete here >>})
.on('blur', function(event){
// Grab the autocomplete object
var autocomplete = $(this).data("autocomplete");
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i");
// Iterate through the autocomplete list items to find any partial or full matches
autocomplete.widget().children(".ui-menu-item").each(function() {
var item = $(this).data("item.autocomplete");
if (matcher.test(item.value || item)) {
//There was a match
matchcount++;
autocomplete.selectedItem = item;
return;
}
});
if (autocomplete.selectedItem) {
//if there was a match trigger the select event on that match
autocomplete._trigger("select", event, {
item: autocomplete.selectedItem
});
//there was no match, clear the input
} else {
$(this).val('');
}
});