web-dev-qa-db-ja.com

jqueryで選択したドロップダウンで<options>をアルファベット順に並べ替えるにはどうすればよいですか

必要なものに問題なく機能するドロップダウンがあります。私が抱えている唯一の問題は、すべての目的と目的のために、ドロップダウンに並べ替えられたリストを提供することはできませんが、クライアント側でアルファベット順に並べる必要があることです。選択したプラグインで、タグを値のアルファベット順に並べ替えることに関連するものが見つからないようです。誰かがこれをしなければならなかったのか、それとも私を正しい方向に向けることができるのか興味があります。サンプルコードは次のようになります。

$("#my-dropdown").chosen({no_results_text: "No results matched"});

javascriptで自分で注文する前に、整理するオプションがあるかどうか疑問に思っています。前もって感謝します

11
John Ruddell

最初にリストをソートする必要があります...次に、選択したプラグインを実行します。

// sort list
var my_options = $("#my-dropdown option");
my_options.sort(function(a,b) {
    if (a.text > b.text) return 1;
    else if (a.text < b.text) return -1;
    else return 0
})
$("#my-dropdown").empty().append(my_options);

// run chosen plugin
$("#my-dropdown").chosen({no_results_text: "No results matched"});

高く評価された回答から盗まれたソートコードをここにリストします。

現在選択されているアイテムを保持しながら、HTML選択のオプションを値で並べ替える最も効率的な方法は何ですか?

15
dana

APIを見ると、並べ替えオプションも表示されません。ただし、役立つ可能性のある2つのリンクを次に示します。

  1. 選択オプションの並べ替え方法に関するRicky Rosarioのブログ投稿
  2. jQueryが選択した並べ替え可能なプロジェクト
1
Jonathan Benn