javascript - 使用具有多个输入字段的 jquery-ui 自动完成

标签 javascript php jquery autocomplete

大家下午好!

我节省了很多时间,阅读了 stackoverflow 上的所有帖子...但我无法使用 multilpe 输入字段进行自动完成。 我试图为每个输入分配一个“autoc”类,我为每个字段使用不同的 id(实际上是 php 循环生成字段的 inedx)。 我不会要求别人为我完成这项工作......只是一个工作示例。

提前致谢。

PS:我为我糟糕的英语道歉......

现在跟随一段html:

    <input id="search_ctO" class="autoc" type="text" name="search_ct[]">
    <input id="search_ct1" class="autoc" type="text" name="search_ct[]">
    <input id="search_ct2" class="autoc" type="text" name="search_ct[]">
    ....
    <input id="search_ctn" class="autoc" type="text" name="search_ct[]">

和 jquery :

    $('.autoc').on("focus", function()   
      $(this).autocomplete({
       minLength: 2,
       source: 'liste_contact.php',
       select: function( event, ui ) {  
         $('.autoc #search_ct').val( ui.item.label ); //id="search_ct'.$i.'
         $(".autoc #contact_id").val( ui.item.value ); //
         $("autoc #contact_description").val( ui.item.desc );
         return false;
       },  
      change: function(){ 
         var servi = $("#service_id").val();
         var hop = $('#hop').val();
         var contact = $("#contact_id" ).val();
         $.ajax({
           url: 'ajout_contact.php',
           data: "serv="+ servi+"&hopit=" + hop+"&contact="+ contact+"",// on envoie la requete d'ajout de contact

         success: function() {
               $("#search_ct").val('');
               // location.reload(true);         
       }

最佳答案

不知道确切的 HTML 和传递给 autocomplete 源的对象数组,很难使您的代码准确无误。

但是,您询问了多个字段的自动完成的工作,所以这里只是一个简单的例子:

HTML

<input id="search_ctO" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ct1" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ct2" class="autoc" type="text" name="search_ct[]"/>
<input id="search_ctn" class="autoc" type="text" name="search_ct[]"/>

JS

var tags = ["abc","def","xyz"];
$('.autoc').on("focus", function(){
      $(this).autocomplete({
       minLength: 2,
       source: tags
        });
});

JSFIDDLE DEMO

如果您还有任何其他想要包含在答案中的内容,请随时发表评论。

编辑

你的代码,

$('.autoc').on("focus", function() {
    $(this).autocomplete({
        minLength: 2,
        source: 'liste_contact.php',
        select: function( event, ui ) {  
            $('.autoc #search_ct').val( ui.item.label );
            $(".autoc #contact_id").val( ui.item.value );
            $(".autoc #contact_description").val( ui.item.desc );
            return false;
        },  
        change: function() { 
            var servi = $("#service_id").val();
            var hop = $('#hop').val();
            var contact = $("#contact_id" ).val();
            $.ajax({
                url: 'ajout_contact.php',
                data: "serv="+servi+"&hopit="+hop+"&contact="+contact+"",
                success: function() {
                    $("#search_ct").val('');        
                }
            });
        }
    });
});

关于javascript - 使用具有多个输入字段的 jquery-ui 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24656589/

相关文章:

javascript - 使用带有 HTML5 的用户麦克风录制音频

javascript - jquery 绑定(bind)到选择更改

javascript - setInterval 仅触发一次

php - 移动多维数组的元素

PHP MySQL Table,用于登录表中的账户

jquery - 如何计算获取返回值的时间

javascript - 使用 Javascript 在数组数组中搜索第一个索引

php - 使用 SUM() 问题选择付款的简单单选按钮

javascript - 类型错误 : 'undefined' is not a function with Tablesorter only in Safari

javascript - 如何使用 jquery 或 javascript 插入附加文本