1

サイト用に動的に入力される複数選択フォームを作成しました。ユーザーが最初の選択で1つ以上の項目を選択すると、2番目の項目はjQueryを介して入力されます。複数選択が入力される順序を除いて、フォームは正しく機能します。

たとえば、「製品」の選択には次のものが含まれます。

<select name="product_id" id="products" multiple="multiple">
<option value="#" selected="selected">Please Select</option>
<option value="1">Product 1</option>
<option value="5">Product 2</option>
<option value="4">Product 3</option>
<option value="6">Product 4</option>

(はい、値は製品番号と同じではありません)ユーザーがこれらのいずれかを選択すると、jQuery呼び出しが次のドロップダウンに入力されます。

<select name="version_id" id="versions" multiple="multiple">
<option value="100">3.0.7</option>
<option value="101">1.0.8</option>
<option value="102">12.0.1</option>

コードはこの選択を満たし、「値」で並べ替えます。実際のコンテンツで並べ替えるように強制する方法はありますか。たとえば、次のように変更します。

<option value="101">1.0.8</option>
<option value="100">3.0.7</option>
<option value="102">12.0.1</option>

私の呼び出しの成功コードは次のとおりです。

success: function(versions) 
{
$.each(versions,function(id,version) 
{
var opt = $('<option />'); 
opt.val(id);
opt.text(version);
$('#versions').append(opt); 
});
}

ありがとう!

4

2 に答える 2

1

私を正しい方向に向けてくれた@deifwudに感謝します。最後に、成功関数の直後に以下を追加しました。値ではなくテキストで並べ替えた結果を並べ替えます。

$("#versions").html($("#versions option").sort(function (a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));
于 2012-04-16T10:04:59.260 に答える
0

次のドロップダウンボックスを動的に生成するためにSQLクエリが実行されるファイルに対してajax呼び出しを実行する必要があります。この場合、生成されるASCselectクエリの最後にキーワード""を配置する必要があります。のid値属性の「 」<option value"">

于 2012-04-10T09:57:30.913 に答える