2013-07-08 11 views
5

Ich lade Werte für select2 wie folgt.Select2 verhält sich sehr unterschiedlich mit Uncaught Abfrage Funktion nicht definiert für Select2 <select2-id>

Deklarieren Sie den Typ

var AdjustmentType = Backbone.Model.extend({ 
      url : Hexgen.getContextPath("/referencedata/adjustmenttype") 
    }); 

Instanz für die Box

adjustmentTypes.fetch({ 
        success : function() { 
         for(var count in adjustmentTypes.attributes) { 
          $("#adjustment-type").append("<option>" + adjustmentTypes.attributes[count] + "</option>"); 
         } 
        } 
       }); 
       $("#adjustment-type").select2({ 
        placeholder: "Select Adjustment Type", 
        allowClear: true 
       }); 
Select2

var adjustmentTypes = new AdjustmentType(); 

Last die Werte Typ erstellen

Mein HTML-Code

<div class="span4"> 
     <div>ADJUSTMENT TYPE</div> 
     <select id="adjustment-type" tabindex="5" style="width:200px;"> 
      <option value=""></option> 
     </select> 
    </div> 

, wenn ich dies zum ersten laden Sie es jede Ausnahme nicht geben wird, aber wenn ich Refresh oder navigate to different URL ich die folgende Ausnahme erhalten:

Uncaught query function not defined for Select2 adjustment-type 

Antwort

12

„Query“ bezieht sich auf die Liste, nach der Sie Ihre Suchbegriffe überprüfen können. Sie müssen sicherstellen, dass Ihre data-Eigenschaft ein ordnungsgemäßes Array von Objekten ist (dh Ihre Optionselemente).