Ich brauche Hilfe beim Schreiben der jQuery / Ajax, um eine Select2 Dropdown-Box zu füllen.
Für diejenigen, die nicht wissen, was Select2 ist, ist es eine Javascript-Erweiterung zu bieten Twitter Bootstrap sucht und sucht / type-ahead-Funktionalität für eine HTML-Auswahlliste Dropdown-Box. Für weitere Informationen sehen Sie sich die Beispiele hier an: Select2 Github-Seite
AKTUALISIERT - Gelöst!Also habe ich das alles zusammengefügt, und die Lösung für meine Probleme war, dass ich Funktionen vermisse, um die Ergebnisse und die Listenauswahl zu formatieren. Der folgende Code erzeugt eine funktionierende Select2 Dropbox mit optimaler Vorauswahl.
Json-Methode auf dem Controller:
%Vor%Die obige JSON-Controller-Methode gibt eine Liste serialisierter Json-Objekte zurück, deren ItemName die angegebene Zeichenfolge 'query' enthält (diese 'Query' kommt aus dem Suchfeld im Select2 Dropbox).
Der folgende Code ist das Javascript in der Ansicht (oder dem Layout, wenn Sie es vorziehen), um den Select2 -Abfall zu aktivieren Box.
Javascript:
%Vor%Dann benötigen Sie im Hauptteil der Ansicht ein verstecktes Eingabeelement, das Select2 die Dropbox rendern wird .
Html:
%Vor%Oder fügen Sie ein MVC Razor-html.hidden-Element an Ihr Ansichtsmodell an, damit Sie die ausgewählte Element-ID zurück auf den Server übertragen können.
Html (MVC Razor):
%Vor%Gelöst! Endlich.
Die vollständige jquery ist unten, was benötigt wurde, waren zwei Funktionen, um die zurückgegebenen Ergebnisse vom Controller zu formatieren. Dies liegt daran, dass die Dropbox ein HTML-Markup benötigt, das um die Ergebnisse gewickelt wird, um sie anzeigen zu können.
Auch die contractID wurde als Attribut in der Steuerung benötigt, da ohne sie Ergebnisse im Dropdown angezeigt wurden, aber sie konnten nicht ausgewählt werden.
%Vor%Gelöst! Endlich.
Die vollständige jquery ist unten, was benötigt wurde, waren zwei Funktionen, um die zurückgegebenen Ergebnisse vom Controller zu formatieren. Dies liegt daran, dass die Dropbox ein HTML-Markup benötigt, das um die Ergebnisse gewickelt wird, um sie anzeigen zu können.
Auch die contractID wurde als Attribut in der Steuerung benötigt, da ohne sie Ergebnisse im Dropdown angezeigt wurden, aber sie konnten nicht ausgewählt werden.
%Vor% Das Problem ist, dass Sie ein List<Contract>
von dieser Controller-Methode zurückgeben, aber die MVC-Laufzeit weiß nicht, wie Sie das an den Browser weitergeben. Sie müssen stattdessen JsonResult
zurückgeben:
Nun wird der data
Parameter der AJAX: Success Funktion der JSON vom Controller sein. Ich bin nicht vertraut mit, wie dieses Plugin funktioniert, aber Sie sollten in der Lage sein, den json in data
manuell zu durchlaufen, wenn Sie müssen.
Ich brauche Hilfe beim Schreiben der jQuery / Ajax, um eine Select2 Dropdown-Box zu füllen.
Für diejenigen, die nicht wissen, was Select2 ist, ist es eine Javascript-Erweiterung zu bieten Twitter Bootstrap sucht und sucht / type-ahead-Funktionalität für eine HTML-Auswahlliste Dropdown-Box. Für weitere Informationen sehen Sie sich die Beispiele hier an: Select2 Github-Seite
AKTUALISIERT - Gelöst!Also habe ich das alles zusammengefügt, und die Lösung für meine Probleme war, dass ich Funktionen vermisse, um die Ergebnisse und die Listenauswahl zu formatieren. Der folgende Code erzeugt eine funktionierende Select2 Dropbox mit optimaler Vorauswahl.
Json-Methode auf dem Controller:
%Vor%Die obige JSON-Controller-Methode gibt eine Liste serialisierter Json-Objekte zurück, deren ItemName die angegebene Zeichenfolge 'query' enthält (diese 'Query' kommt aus dem Suchfeld im Select2 Dropbox).
Der folgende Code ist das Javascript in der Ansicht (oder dem Layout, wenn Sie es vorziehen), um den Select2 -Abfall zu aktivieren Box.
Javascript:
%Vor%Dann benötigen Sie im Hauptteil der Ansicht ein verstecktes Eingabeelement, das Select2 die Dropbox rendern wird .
Html:
%Vor%Oder fügen Sie ein MVC Razor-html.hidden-Element an Ihr Ansichtsmodell an, damit Sie die ausgewählte Element-ID zurück auf den Server übertragen können.
Html (MVC Razor):
%Vor%Wählen Sie 2 scheint eine Standardauswahl mit jquery angehängt zu sein, damit dies funktioniert:
Modell:
%Vor%Controller:
%Vor%Anzeigen:
%Vor%Ich kann nicht erklären, wie es bei der Arbeit ist, aber wenn du eine Nachricht hinterlässt, heb sie heute Nacht auf.
Tags und Links asp.net-mvc jquery jquery-select2