2017-08-08 2 views
0

Wenn die Seite anfänglich geladen wird, kann der Platzhalter nicht gesehen werden und es gibt einen seltsamen Kreis (ich denke, er hängt mit der Suchfunktion in Select2 zusammen) in der unteren rechten Ecke, der den Platzhalter überlagert.Select2 Selektieren Seltsames Overlay

Initial Page Load

Dann, als eine Option aus dem Dropdown-Select2 ausgewählt wird, zeigt die Option, aber das gesamte Gebiet ist aufgrund dieses Kreises Overlay nach unten gedrückt.

First Selection

Wenn ich die Auswahl zu löschen, zeigt der Platzhalter, aber der Kreis ist immer noch da.

Meine Anwendung verwendet Backbone und Mario

Hier ist der Code, den ich in meiner JS-Datei mit bin (ich habe mit der minimumResultsForSearch Option gespielt, aber habe kein Glück gehabt).

this.$el.find("#categorySelect").select2({ 
    multiple: true, 
    allowClear: true, 
    minimumResultsForSearch: -1, 
    placeholder: "Categories" 
}) 

Hier ist der Code ich in meiner .tpl Datei mit

<select id="categorySelect" name="Categories" multiple="multiple" class="form-control" style="width: 100%;"> 
    <% for(category in categories){ %> 
     <option value="<%=categories[category].title%>" 
     <% if (categories[category].active == true) { %> 
      selected 
     <%}%> 
     > 
     <%=categories[category].title%></option> 
    <% }; %> 
</select> 
+0

Dies hat wahrscheinlich etwas mit CSS zu tun, außer es gibt JavaScript-Fehler. Bitte teilen Sie ein [mcve] –

+0

Ich habe versucht, ein (n) MCV einzurichten, aber ich habe einige Probleme mit select2, um richtig zu beziehen. Gibt es eine Chance, dass Sie/jemand einen Blick darauf werfen? http://jsfiddle.net/az5dksyz/ – akoi

Antwort

1

Ihre Bestellung von Skripten nicht korrekt ist, müssen Sie jQuery laden, bevor Sie es benutzen.

Sie versuchen auch, select2 für Elemente zu initialisieren, die noch nicht vorhanden sind, d. H. Bevor die Ansicht tatsächlich gerendert wird.

Und es gibt Somethings, die keinen Sinn macht wie

this.$el.html(_.extend(this.template(modelJSON))); Warum würden Sie versuchen, eine HTML-Zeichenfolge zu verlängern?

oder

$(function(select2) { 
    App.start(select2); 
}); 

Was select2 als erstes Argument für jQuery bereit Event-Handler ist vorbei?

Bitte versuchen Sie den Code zu verstehen, den Sie schreiben, und warum Sie ihn schreiben.

Alle diese Probleme zu beheben gibt so etwas wie http://jsfiddle.net/az5dksyz/2/.

Es ist auch eine gute Idee, nicht id in Vorlagenzeichenfolgen zu verwenden, da sie mehrfach gerendert werden konnten und keine Inline-Stilregeln in ihnen verwenden.

+0

Vielen Dank für die Hilfe bei der Einrichtung der MCV. Zumindest kann ich jetzt sagen, dass irgendwo im CSS etwas wackelig ist. – akoi

Verwandte Themen