我的应用程序中的文本框上有一个有效的自动完成功能。如果选择了建议,则应用程序会将表单发布到不同的页面(产品类别)。用户还可以键入不在自动填充建议中的内容,然后按Enter键。在这种情况下,应用程序将执行一些文本搜索。然而...
如果用户键入了与自动填充建议完全匹配的内容并按下输入,我仍然希望应用程序转到相应的URL。如何访问自动填充建议并搜索完全匹配?我在DOM上搜索了一个小时($(".searchTextBox").autocomplete("instance")
)但找不到类似“建议集”的内容。
答案 0 :(得分:0)
我通过声明一个全局来修复它(我知道的很糟糕,但在其他地方?)。
var autoCompleteResult = {};
然后在成功地将字典存储在全局变量中:
success: function (data) {
autoCompleteResult = {};
var d = data.d;
for (var i = 0, len = d.length; i < len; i++) {
var val = d[i].split(';');
autoCompleteResult[val[0].toLowerCase()] = val[1];
}
response($.map(data.d, function (item) {
return {
label: item.split(';')[0],
val: item.split(';')[1]
}
}))
},
然后,文本框上的onkeyup:
if (autoCompleteResult !== null) {
if (sender.value !== '') {
var val = sender.value.toLowerCase();
if (autoCompleteResult[val])
{
setPostBackUrl(autoCompleteResult[val]);
}
}
}
它就像一个魅力......