Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kendo ui 剑道UI下拉列表为多选复选框_Kendo Ui_Kendo Dropdown - Fatal编程技术网

Kendo ui 剑道UI下拉列表为多选复选框

Kendo ui 剑道UI下拉列表为多选复选框,kendo-ui,kendo-dropdown,Kendo Ui,Kendo Dropdown,我正在使用剑道UI MVC包装器。我需要一个下拉列表,每个项目的复选框,让我选择多个项目 我发现我正在做我想要实现的事情,但这不是用MVC包装器实现的。你能告诉我如何用MVC包装器实现同样的事情吗 @Html.Kendo.DropDownList .名称结构公司 .HtmlAttributesnew{style=width:180px} .选项标签-选择- .DataTextFieldTitle .DataValueFieldId .DataSourcesource=> { source.Rea

我正在使用剑道UI MVC包装器。我需要一个下拉列表,每个项目的复选框,让我选择多个项目

我发现我正在做我想要实现的事情,但这不是用MVC包装器实现的。你能告诉我如何用MVC包装器实现同样的事情吗

@Html.Kendo.DropDownList .名称结构公司 .HtmlAttributesnew{style=width:180px} .选项标签-选择- .DataTextFieldTitle .DataValueFieldId .DataSourcesource=> { source.Readread=> { read.actionGetCascade公司,公司; }; }
以下是一种方法:

看法

这里是棘手的部分,我不是一个真正的javascript鉴赏家,所以请原谅我的术语,如果它是错误的。拥有新scope函数的第一个blob允许您从kendo.ui名称空间继承,以便您能够更改基本级别的内容。例如自动关闭和突出显示功能

下一个斑点只是我的选择,而不是你的“选项标签”,你可以随心所欲


最后一部分是选择,正如您所看到的,它只是创建了一个逗号值,然后通过“ddl.text”方法将其作为下拉列表中的显示插入。你可以想怎么做就怎么做。希望这有帮助

我想要多选剑道下拉列表复选框你解决问题了吗?我建议您使用剑道多选而不是下拉列表。谢谢,第一个防止突出显示和关闭的部分适用于页面上的所有剑道下拉列表,是否有任何方法使其成为剑道下拉列表的特定实例?删除所有剑道下拉列表上的选择和模糊事件的部分,是否可以只针对特定的下拉列表?
@(Html.Kendo().DropDownList()
    .Name("StructureCompany")
    .HtmlAttributes(new { style = "width:180px" })
    .DataTextField("Title")
    .DataValueField("Id")
    .Template("<input type='checkbox' name='cb' value='#:data.Title#' /> #:data.Title#")
    .Events(e => e.Select("onSelect"))
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetCascadeCompany", "Company");
        });
    }))
//This extendes the base Widget class
(function ($) {
    var MultiSelectBox = window.kendo.ui.DropDownList.extend({
        _select: function (li) { },//Prevents highlighting
        _blur: function () { },//Prevents auto close
    });

    window.kendo.ui.plugin(MultiSelectBox);
})(jQuery);

//Sets up your optional label
$(document).ready(function () {
    $("#StructureCompany").data("kendoDropDownList").text("-- Select --");
})

//Does all the functionality
function onSelect(e) {
    var dataItem = this.dataItem(e.item);
    var ddl = $("#StructureCompany").data("kendoDropDownList");
    var cbs = document.getElementsByName("cb");
    var display;

    var list = [];
    for (var i = 0; i < cbs.length; i++) {
        if (cbs[i].checked) {
            list.push(cbs[i].value);
        }
    }

    if (list.length == 0) {
        display = "-- Select --";
    }
    else {
        display = list.join(", ");
    }

    ddl.text(display);
}