2016-10-05 3 views
1

Ich versuche meine Auswahlbox-Optionen in alphabetisch aufsteigender Reihenfolge zu sortieren. (Beginnend bei A bis hin zu Z)Sortierung von Auswahlbox-Optionen aus der Datenbank

Ich habe versucht, einen Sortierer zu verwenden, den ich in einer anderen Frage gefunden habe, aber ich kann nicht scheinen, dass er an all meinen Selectboxen funktioniert. Ich habe versucht, die Selectboxen mit document.getElementsByTagName() aufzurufen, aber das scheint auch nicht zu funktionieren.

Dies ist die Funktion, die ich zu verwenden, ich versuche:

function sortlist() { 

      var selectOptions = document.getElementsByClassName("sortList"); 
      var selectOptionsTexts = new Array(); 
      console.log(selectOptions); 

      for (i = 2; i < selectOptions.length; i++) { 
       selectOptionsTexts[i - 2] = 
         selectOptions.options[i].text.toUpperCase() + "," + 
         selectOptions.options[i].text + "," + 
         selectOptions.options[i].value + "," + 
         selectOptions.options[i].selected; 
      } 

      selectOptionsTexts.sort(); 

      for (i = 2; i < selectOptions.length; i++) { 
       var parts = selectOptionsTexts[i - 2].split(','); 

       selectOptions.options[i].text = parts[1]; 
       selectOptions.options[i].value = parts[2]; 
       if (parts[3] == "true") { 
        selectOptions.options[i].selected = true; 
       } else { 
        selectOptions.options[i].selected = false; 
       } 
      } 
     } 

Vielen Dank im Voraus

+0

Warum sortierst du die Daten beim Füllen zur Anfangszeit nicht? – ManiMuthuPandi

+0

Durch die Sortierung zur ersten (?) Zeit nehme ich an, du meinst dasselbe wie @ nusje2000? Da seine Antwort klarer war, akzeptiere ich seine, aber danke für den Vorschlag, unabhängig davon –

Antwort

2

Da Sie Ihre Daten aus einer Datenbank wie im Titel Laravel und immer mit sind, können Sie einfach Sortieren Sie es alphabetisch, sobald Sie es aus der Datenbank auswählen. Sie können den Laravel Query Builder für diese oder die Standardmethode sql verwenden.

Laravel Abfrage:

DB::table('your_table')->orderBy('col_name', 'asc'); //asc = ascending, desc = descending 

SQL Query:

SELECT * FROM your_table ORDER BY column_name ASC //ASC = ascending, DESC = descending 

Weitere Dinge über die Laravel Query Builder Sie die Laravel Dokumentation besuchen: https://laravel.com/docs/5.3/queries.

Ich hoffe, dass dies Ihre Probleme lösen wird.

+1

Das hat den Trick gemacht. Danke für die schnelle Antwort –

Verwandte Themen