2013-05-30 2 views
8

Hallo Ich bin auf der Suche nach Select 2 und was ich bis jetzt gesehen habe, sieht es gut aus. Ich versuche jedoch, eine Sache zu machen.select2 - Kombination von Remote-Daten mit mehreren Auswahl und Pre-Daten

Ich bin auf der Suche nach meinen Daten mit einem AJAX-Aufruf an eine JSON-Datei - es gibt ein Beispiel auf ihrer Website, wie dies zu tun ist, aber ich versuche, eine Liste voraufgefüllt zu haben.

Was ich damit meine ist, wenn ein Benutzer zum Beispiel auf der Suche nach einem Film auf diesen Link

http://ivaynberg.github.io/select2/#infinite

die ersten 10 Filme in der JSON-Datei aufgeführt sind geklickt hat, so gibt es einige prechoices sind.

Kann jemand mich in die richtige dieection Punkt

hier ist mein Code so weit

function movieFormatResult(movie) { 
    var markup = "<table class='movie-result'><tr>"; 
    if (movie.posters !== undefined && movie.posters.thumbnail !== undefined) { 
     markup += "<td class='movie-image'><img src='" + movie.posters.thumbnail + "'/></td>"; 
    } 
    markup += "<td class='movie-info'><div class='movie-title'>" + movie.title + "</div>"; 
    if (movie.critics_consensus !== undefined) { 
     markup += "<div class='movie-synopsis'>" + movie.critics_consensus + "</div>"; 
    } 
    else if (movie.synopsis !== undefined) { 
     markup += "<div class='movie-synopsis'>" + movie.synopsis + "</div>"; 
    } 
    markup += "</td></tr></table>" 
    return markup; 
} 

function movieFormatSelection(movie) { 
    return movie.title; 
} 

$(document).ready(function() { 
$("#e7").select2({ 
    placeholder: "More", 
    minimumInputLength: 3, 
    ajax: { 
     url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json", 
     dataType: 'jsonp', 
     quietMillis: 100, 
     data: function (term, page) { // page is the one-based page number tracked by Select2 
      return { 
       q: term, //search term 
       page_limit: 10, // page size 
       page: page, // page number 
       apikey: "ju6z9mjyajq2djue3gbvv26t" // please do not use so this example keeps working 
      }; 
     }, 
     results: function (data, page) { 
      var more = (page * 10) < data.total; // whether or not there are more results available 

      // notice we return the value of more so Select2 knows if more results can be loaded 
      return {results: data.movies, more: more}; 
     } 
    }, 
    formatResult: movieFormatResult, // omitted for brevity, see the source of this page 
    formatSelection: movieFormatSelection, // omitted for brevity, see the source of this page 
    dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller 
    multiple: true, 
    escapeMarkup: function (m) { return m; } // we do not want to escape markup since we are displaying html in results 
}); 
}); 

und die html

<article class="row" id="infinite"> 
<div class="span12"> 

    <p> 
<input type="hidden" class="bigdrop" id="e7" style="width:200px"/> 



    </p> 

</div> 
</article> 

Antwort

0

Sie können die minimumInputLength Parameter auf 0 gesetzt, das wird Versuchen Sie dann, Ihre URL ohne Suchwert abzufragen. Richten Sie dann Ihre Serverantwort ein, um die 10 Optionen zurückzugeben, wenn keine Suchzeichenfolge vorhanden ist.