jquery - 输入/数据列表自动完成不显示
问题描述
我有一个网站,我试图在其中input
使用动态的datalist
. 一切正常,除了列表并不总是下拉但检查器显示datalist
按预期填充。
当您在input
(文本框)中输入条目时,在 3 个字符后应该会出现下拉菜单,但很少会出现。您可以打开 Inspector 并查看datalist
确实填充但它只是不显示。当您键入更多字符时,它可能会出现,也可能不会出现。但是,按退格键似乎比不出现的次数更多。我已经尝试取出 typingTimer 代码以及 2 个字符的最小代码。我什至将其更改为 AJAX 调用,因此我可以尝试添加异步参数,但没有运气。我难住了。
HTML
<td>
<input id="txtTerritorySub" list="dlTerritorySub" name="TerritorySub" style="width:300px;"placeholder="City/Parrish" />
<datalist id="dlTerritorySub" style="width:auto;">
</datalist>
</td>
jQuery
$(document).ready(function () {
$('#txtTerritorySub').bind("input", (function () {
var typingTimer;
var element = $(this);
var srchStr = element.val();
clearTimeout(typingTimer);
if (srchStr.length > 2) {
typingTimer = setTimeout(getMatches(element, srchStr), 500);
}
}));
});
function getMatches(element, srchStr) {
$("#dlTerritorySub").empty();
$.post('Customer/getTerritorySubs', { 'srchStr': srchStr },
function (result) {
$(result).each(function (i, item) {
$("#dlTerritorySub").append($("<option>", {
value: item.territoryCode,
text: item.territorySubName + ' (' + item.territoryName + ', ' + item.countryName + ')'
}));
});
});
}
解决方案
推荐阅读
- performance-testing - 为负载运行器生成报告 pdf 的命令行方式
- jquery - Xamarin Android jQuery AJAX 在发布模式下不起作用
- django - google 的 Django-rest-framework-social-oauth2 错误
- excel - 在关闭 Excel 更新文件时使用 VBA 发送电子邮件或 Skype 消息
- machine-learning - 如何在 PYTORCH 中进行 2 层嵌套 FOR 循环?
- angular - “找不到路径控制”但无法弄清楚原因 - Angular 5
- javascript - 如何在javascript中将对象中的所有字符串变为大写
- anaconda - “conda install pandas-datareader”不工作
- python - Pyqt4年龄计算器不在标签上输出
- angularjs - 使用 ionic 平台浏览器登录 google 和 facebook