9

ASP.NET MVC アプリケーションで jQuery Chosen プラグインを使用しています。ドロップダウンリストにアイテムが含まれている場合、data-placeholder属性は機能しません。デフォルトのテキストを表示する代わりに、リストの最初の項目が自動的に選択されます。

これがドロップダウンリストを定義する方法です。

@Html.DropDownListFor(m => m.Keep, Model.Data, 
     new { @class = "chzn-select", data_placeholder = "Default..." })

Model.Data が空の場合 (EF を使用してビュー モデルに入力されている場合)、既定のテキストが表示されます。それ以外の場合は、最初の項目が選択されます。ドロップダウンリストにデフォルト値を常に表示したい。

$('.chzn-select').chosen();Nothing special経由でプラグインを適用します。

何か案は ?前もって感謝します。

4

7 に答える 7

19

最初に空のオプションを追加する必要があります。

ドキュメントに従って - http://harvesthq.github.com/chosen/

注: 単一選択では、最初の要素がブラウザーによって選択されていると見なされます。デフォルトのテキスト サポートを利用するには、選択リストの最初の要素として空白のオプションを含める必要があります。

おそらくjQueryを使用して追加します

$(".chzn-select").prepend("<option></option>");
于 2012-07-25T12:32:01.643 に答える
5
@Html.DropDownListFor(model => model.categoryModel.Id, ViewBag.CategoryList as SelectList, "", new { @class = "chzn_a", data_placeholder = "Choose Category.." })

以下のコードがうまくいかない場合は、SelectList の後に "" を追加してください

$(".chzn_a").prepend("<option></option>");
于 2013-01-27T05:52:20.407 に答える
1

私は同じ問題を抱えていて、次のことをしました:

選択したフィールドを初期化するときは、幅のサイズで % を使用しないでください。

$(".chosen").chosen({
'no_results_text' :'Oops, nothing found!',
'width'           :'700px',
'search_contains' : true,
'placeholder_text_multiple':'Please choose something ...',
'display_selected_options':false             

});

于 2015-04-09T16:04:01.293 に答える
0

リストの最初の要素とモデルへのレコード バインディングがあるかどうかを確認します

于 2013-01-25T05:40:34.263 に答える
0

デフォルト値は、リスト内の値に置き換えられます。したがって、デフォルト値を表示するには、そのデフォルト値をリストの最初の項目として追加します。

于 2012-07-25T12:52:04.957 に答える
0

blank を追加してもコードがoption機能しない場合。次に、コードをロードして有効にするためにブラウザが新しいページを必要とする場合があることを知っておく必要があります!

タブを閉じて新しいタブを開き、プロジェクト ページに移動して変更を確認してください。

于 2014-04-17T11:55:41.327 に答える