6

如何为 MVC 3实现选择的插件?

对于这种类型的输出

在此处输入图像描述

4

4 回答 4

7

这是我的代码如何使 selected.js 与 javascript/MVC 一起工作

这是我的下拉代码

@Html.DropDownListFor(m => m.CategoryId,
                                    new SelectList(Model.Categories, "Id", "Name"),
                                    "Choose a Category...",
                                    new
                                    {
                                        id = "CategoryId",
                                        multiple = "",
                                        @class = "chzn-select srs-select search-dropdown",
                                        data_placeholder = "Choose a Category..."
                                    })

这里我使用 'chzn-select' 样式

-- 在准备好的文档中,应该调用 .chosen() 函数。

$(document).ready(function () {

    $('.chzn-select').chosen();
});

在Javascript中,要检索选择的内容,这是代码

检索下拉框中所选项目的代码

var selectedCategoryId = $('Select#CategoryId').val();
    var selectedCategories = "";

    if (selectedCategoryId != null) {
        $.each(selectedCategoryId, function (index, value) {
            selectedCategories = selectedCategories + value + ",";
        });
    }

基本上 selectedCategories 具有所选项目的 ID,由“,”分隔

使用选定的值更新下拉列表

将您的值复制到数组中

var categoryArray = new Array(); 

...有一些代码可以使用之前选择的值来初始化数组。

//代码让你选择,数组有你的值。

$('Select#CategoryId').val(categoryArray);

$('.chzn-select').trigger('chosen:updated');

希望这可以帮助

于 2014-01-08T16:20:18.387 回答
5

我已经重新配置了如下选择的插件并正常工作。

我的剃须刀:

<div style="width: 750px; clear: both; margin-left: 170px;">

            @Html.ListBox(
                             "Emailaddress",
                             ViewBag.EmailaddressList as MultiSelectList,
                             new { @class = "chosen-select", data_placeholder = "Choose a Emailaddress...", style = "width:750px;", tabindex = "4" }
                         )
</div> 

在您的 html Razor 代码之后添加此脚本

<script src="@Url.Content("~/Scripts/chosen.js/chosen.jquery.js")" type="text/javascript"></script>
        <script type="text/javascript">
            var config = {
                '.chosen-select': {},
                '.chosen-select-deselect': { allow_single_deselect: true },
                '.chosen-select-no-single': { disable_search_threshold: 10 },
                '.chosen-select-no-results': { no_results_text: 'Oops, nothing found!' },
                '.chosen-select-width': { width: "95%" }
            }
            for (var selector in config) {
                $(selector).chosen(config[selector]);
            }
  </script>

我的观点:

ViewBag.Skills = new MultiSelectList(EmailaddressList, "Id", "EmailId");
于 2013-08-06T11:43:50.667 回答
1

我认为你应该这样使用。

@Html.DropDownListFor(model => model.CountryId, new SelectList(Model.Countries, "ID", "Name"), "select", new { @ID = "ddlCountry", @class = "chosen-select", multiple = "multiple", Style = "width: 150px;" })

这会帮助你。

于 2013-08-07T04:48:41.037 回答
1

请访问以下链接。这将帮助您使用 mvc3 实现所选插件。我发现这对我很有帮助。这是链接

http://utsavized.com/chosen-multiselect-dropdown-list-with-asp-net-mvc3/

于 2013-08-06T09:26:00.650 回答