jQuery UI-autocomplete mit Objekten

Ich bin mit jQuery 1.11.2 und zu versuchen, um das autocomplete-widget zu analysieren, ein Daten-array. Ich habe den Menschen in das array, Will Smith und Willem Dafoe. Ich erwartete zu sehen, dass beide die Namen werden Hinzugefügt, um die dropdown-Liste, wenn ich eingeben, Wi in das Textfeld, aber ich bekomme keine Antwort. Hier ist eine Kopie der code:

<script src="js/jquery/jquery-1.11.2.js"></script>
<script src="js/jquery/jquery-ui.js"></script>
<link rel="stylesheet" href="js/jquery/jquery-ui.css"/>
<link rel="stylesheet" href="js/jquery/jquery-ui.theme.css"/>

<script type="text/javascript">
$(function() {
    var data = [
        {
            "id": 1,
            "first_name": "Will",
            "last_name": "Smith",
            "created_at": "2015-01-27T13:09:20.243Z",
            "updated_at": "2015-01-27T13:09:20.243Z"
        },
        {
            "id": 2,
            "first_name": "Willem",
            "last_name": "Dafoe",
            "created_at": "2015-01-27T13:17:23.479Z",
            "updated_at": "2015-01-27T13:17:23.479Z"
        }
    ];
    //Below is the name of the textfield that will be autocomplete    
    $('#search').autocomplete({
        //This shows the min length of charcters that must be typed before the autocomplete looks for a match.
        minLength: 2,
        //This is the source of the auocomplete suggestions. In this case a list of names from the people controller, in JSON format.
        source:data,
        //This updates the textfield when you move the updown the suggestions list, with your keyboard. In our case it will reflect the same value that you see in the     suggestions which is the person.given_name.
        focus: function(event, ui) {
            $('#search').val(ui.item.first_name);
            return false;
        },
        //Once a value in the drop down list is selected, do the following:
        select: function(event, ui) {
            //place the person.given_name value into the textfield called 'select_origin'...
            $('#search').val(ui.item.first_name);
            //and place the person.id into the hidden textfield called 'link_origin_id'. 
            $('#link_origin_id').val(ui.item.id);
                return false;
        }
    }).data( "ui-autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" ).data( "ui-autocomplete-item", item ).append( "<a>" + item.first_name + "</a>" ).appendTo( ul );
        //For now which just want to show the person.given_name in the list.                             
    };
});
</script>


Search: <input type="text" id="search" />

Dem code ist alles in einer einzigen html-Ordner auf dem lokalen Laufwerk. Kein server involviert ist, an dieser Stelle. Auch ich habe die element untersuchen-tool für die Fehler, aber keiner wird angezeigt und alle Ressourcen werden gefunden und geladen.

  • Wenn Sie nichts dagegen haben, werfen Sie diese in ein JSFiddle es würde uns helfen, dir schneller helfen.
InformationsquelleAutor Darc Nawg | 2015-01-27
Schreibe einen Kommentar