jQuery自动完成功能不适用于课程

时间:2018-08-30 05:54:58

标签: jquery autocomplete jquery-ui-autocomplete

我正在使用Jquery的自动完成功能,并且当处理程序为id时,我一直在使用它而没有任何问题。但是,现在我需要相同的源变量来自动完成大量输入。我的想法是按类替换id,但是它不起作用(没有错误)。 jQuery是这样的:

<script>
$( function() {var all_users = [
        {
        id: "2",
        label: "Claudio"
        },
        {
        id: "3",
        label: "Tom"
        },
        {
        id: "4",
        label: "Brandon"
        },
        {
        id: "5",
        label: "Edgar"
        },
      {
        id: "0",
        label: "0"
      }
    ];

$( ".invitee" ).autocomplete({
  minLength: 0,
  source: all_users,
  focus: function( event, ui ) {
    $( ".invitee" ).val( ui.item.label );
    return false;
  },

  select: function( event, ui ) {
    $( "#invitee_name" ).val( ui.item.label );
    $( "#user_id" ).val( ui.item.id );
    return false;
     }
    })
  } );
  </script>

还有html:

<label>Who was your best friend in Kindergarden</label> 
<input type="text" class="form-control" class="invitee" id="1">

<label>Who was your best friend in High School</label> 
<input type="text" class="form-control" class="invitee" id="2">

<label>Who was your best friend in jail</label> 
<input type="text" class="form-control" class="invitee" id="3">

<input type="text" class="form-control" id="invitee_name">
<input type="text" class="form-control" id="user_id">

如果我将输入之一更改为id =“ invitee”并修复处理程序,则它会很好地工作,但仅适用于一个输入。我该如何解决这个问题而又不知疲倦地复制“ $(“ .invitee”).autocomplete'?

出于测试目的:avhub.teameivi.com/test_autocomplete.php

1 个答案:

答案 0 :(得分:1)

您为<input>元素错误地分配了类名。应该是

<input type="text" class="form-control invitee" id="1">