javascript - 打字头如何只允许列出值,否则会发出警报?
问题描述
我正在使用 typeahead.js 0.9.3,是否可能 typehead 只允许列表中的项目而不是用户输入的手动文本。它不允许用户这样做或在任何事件之后检查该值是否存在于列表中。
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'sale/files/search_part.php?key=%QUERY',
limit : 10
});
});
我不擅长 javascript 和 JQuery,所以不知道如何将数组值设置为列表,所以下面的代码可以检查它是否存在于列表中。请帮忙
var myData = [...]; // how to assign output list to this array?
$("#partno").typeahead({source : myData}).blur(validateSelection);
function validateSelection() {
if(source.indexOf($(this).val()) === -1) {
alert('Error : element not in list!');
}
}
输入栏
<input type="text" name="typeahead" class="typeahead tt-query" autocomplete="off" spellcheck="false" id="partno" >
解决方案
将输出列表分配给 myData
$(document).ready(function() {
var myData = [];
$.ajax({
url : url_example.php,
data:{
condition : 'text'
},
dataType:'json',
method:'POST',
success:function(result){
myData = result.data
},error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log('error!');
}
})
});
你可以在这里阅读更多 http://api.jquery.com/jquery.ajax/
推荐阅读
- r - 出现错误“.local(x, y, ...) 中的错误:R 中运行的包装水的范围不重叠
- generics - 在更新系统列表并在 ECS 环境中使用 C# 中的合适事件后,有没有办法安全地使用事件/主题
- node.js - 排序和限制 MongoDB 文档的数组对象
- identityserver4 - Azure AD B2C OpenIdConnect ConfigurationManager 错误
- angular - Angular Http Post Observable 未触发订阅
- windows - 通过 NTLM 连接到 SSRS API:握手被拒绝
- python - 从 Pandas 行中删除重复单词的问题
- bash - 如何使用 bash glob 排除特定文件夹?[重击球]
- python - 如何在python中安装ucp模块?[黎明]
- javascript - 完全隐藏 chart.js 中的空条