18

Chosenで複数選択を使用したい 。私は次のようなスキルモデルを持っています

public class Skill 
    {
        public int Id { get; set; }
        public string Name { get; set; }        
    }

これは私のアプリケーションで機能します:

    <select data-placeholder="Choose a Country..." class="chzn-select" multiple >
           <option value=""></option>
           <option value="United States">United States</option>
           <option value="Albania">Albania</option>
           <option value="Algeria">Algeria</option>
   </select>

国のデータを自分のデータに置き換えたい。コントローラーで私は書きます:

        var list = MyService.LoadAllSkills();
        ViewBag.Skills = new MultiSelectList(list, "Id", "Name");

ビューで:

@Html.ListBox("Name", ViewBag.Skills as MultiSelectList,
              new { @class = "chzn-select" } )

@ Html.ListBox()@ Html.DropDownList( )の結果を表示するのは次のようではありません<select>

私はそう結果を得る:

ここに画像の説明を入力してください

しかし、私は次のように結果を得たい

ここに画像の説明を入力してください

選択したサンプルを変更するにはどうすればよいですか?

4

2 に答える 2

14

ハードコードされた例 (動作していると述べた) と ListBox ヘルパーで生成した例との唯一の違いは、data-placeholder属性がないことです。そう:

@Html.ListBox(
    "Countries", 
    ViewBag.Skills as MultiSelectList,
    new { @class = "chzn-select", data_placeholder = "Choose a Country..." } 
)

これにより、少なくとも、機能していると言ったものと同じマークアップが生成されるはずです。うまくいかない場合は、プラグインが正しくセットアップされていないか、他の JavaScript エラーが発生している可能性があります。プラグインのセットアップ方法については、プラグインのドキュメントをお読みください。

于 2012-12-08T14:49:48.943 に答える