在我的ASP.Net MVC应用程序中,我在文本框上有一个jQuery自动完成功能。我有一切工作来显示当前使用的项目名称,我想要做的是强制用户输入一个完全新的项目名称。即自动完成功能可作为存在内容的指南,但用户必须最终输入完全使用的字符串值。
我希望UI指示当前使用的项目是否被选中(当发布提交时将在服务器端进行另一次检查)所以目前只有一个简单的警报()。
我的脚本如下:
$(document).ready(function() {
$('#combobox').autocomplete('<%= Url.Action("ProjectIdList", "LookUp") %>', {
delay:10,
minChars:1,
matchCase: 0,
matchSubset: 1,
autoFill: true,
maxItemsToShow:10,
cacheLength: 10,
onItemSelect:selectItem,
onFindValue:selectItem
});
});
请注意加价: onItemSelect:selectItem,onFindValue:selectItem
我还有以下脚本:
function findValue(li) {
if (li != null) return alert("This Project Id cannot be used");
}
function selectItem(li) {
findValue(li);
}
但是, 我无法触发这些事件 。我错过了什么?
或者,有更好的方法吗?
答案 0 :(得分:1)
我用过
$("combobox").result(function(item){
if(!item)
{
//no match
}
});
官方插件取得了一些成功。
答案 1 :(得分:0)
完整的最终代码可以帮助任何需要它的人:
$(document).ready(function() {
$('#combobox').autocomplete('<%= Url.Action("ProjectIdList", "LookUp") %>',
{
delay: 10,
minChars: 1,
matchCase: 0,
matchSubset: 1,
autoFill: true,
maxItemsToShow: 10,
cacheLength: 10
}
);
$('#combobox').result(function(item) {
if (item) {
//no match
alert("Not this one!");
}
});
});