Typehead如何只允许列表值发出警报?

时间:2018-08-21 04:01:17

标签: javascript jquery typehead

我正在使用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,所以不知道如何将数组值设置为list,因此下面的代码可以检查它是否存在于list中。请帮助

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" >

1 个答案:

答案 0 :(得分:0)

将输出列表分配给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/