如何使用MVC 4多选择?(How to use multiple select in mvc 4?

2019-08-03 17:18发布

我想使用多选在选上的 。 我有技能模型一样,

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>

我得到这样的结果是:

但是,我想要得到的结果

我怎样才能改变选择的采样?

Answer 1:

我可以硬编码示例(你说,在工作)和人与列表框辅助生成所述一个之间看到的唯一差别是不存在的data-placeholder属性。 所以:

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

这至少应该产生相同的标记,你说的是什么工作。 如果不工作,那么可能是你还没有安装该插件正确,或者你有一些其他的JavaScript错误。 阅读插件它应该如何设置的文档。



Answer 2:

其他帅哥提到的,看来你的问题的原因是没有服务器端(剃刀),它实际上是客户端(最有可能你的jQuery插件初始化)。

也许当尚未产生称为HTML DOM插件初始化,把你的插件初始化脚本在身体的末端或内部$(document).ready()不要忘记去看看在控制台上,看是否有任何错误

快乐编码



文章来源: How to use multiple select in mvc 4?