Füllen Sie Select2 Dropdown-Box aus der Datenbank in MVC 4

9

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%     
Whiplash450 13.02.2013, 12:31
quelle

3 Antworten

2

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%     
Whiplash450 14.02.2013, 14:00
quelle
1
___ answer14876502 ___

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%     
___ answer 14854807 ___

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:

%Vor%

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.

    
___ qstnhdr ___ Füllen Sie Select2 Dropdown-Box aus der Datenbank in MVC 4 ___ qstntxt ___

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%     
___ tag123aspnetmvc ___ Das ASP.NET MVC Framework ist ein Open-Source-Webanwendungs-Framework und -Tooling, das eine auf Web-Anwendungen zugeschnittene Version des Model-View-Controller (MVC) -Musters implementiert und auf einer ASP.NET-Technologiegrundlage aufbaut. ___ answer14856329 ___

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.

    
___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123jqueryselect2 ___ Select2 ist ein jQuery-basierter Ersatz für Auswahlfelder. Es unterstützt die Suche, Remote-Datensätze und unbegrenztes Scrollen von Ergebnissen. ___
Graham 13.02.2013 13:35
quelle
0

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.

    
DavidB 13.02.2013 14:55
quelle