清除Kendo多选的选定值

时间:2013-11-07 12:15:10

标签: jquery kendo-ui kendo-multiselect

我有Kendo multiSelect控件,它工作得非常好。但是我面临重置其选定值的问题。以下是我到目前为止所尝试的内容:

$("#Department option:selected").removeAttr("selected");  

var departmentMultiselect = $('#Department').data("kendoMultiSelect");
var subtract = $('#department').val();
                var values = departmentmultiselect.value().slice();
                values = $.grep(values, function (a) {
                 return $.inarray(a, subtract) == -1;
                });
                departmentmultiselect.datasource.filter({});
                departmentmultiselect.value(values);  

在第二个代码中,控制绕过以下代码

values = $.grep(values, function (a) {
                     return $.inarray(a, subtract) == -1;
                    });  

如何重置此控件?

4 个答案:

答案 0 :(得分:28)

取消选择kendo multiselect中的所有值:

var multiSelect = $('#Department').data("kendoMultiSelect");
multiSelect.value([]);

答案 1 :(得分:1)

我有同样的问题,但是想从多选而不是一切中删除一个值。这就是我想出的:

var multiselect = $('#multiSelectId').data("kendoMultiSelect");
var values = multiselect.value().slice();

// optionId is the value I want to remove
var index = $.inArray(optionId, values);
if (index > -1) {
    values.splice(index, 1);
}

multiselect.dataSource.filter({});
multiselect.value(values);

答案 2 :(得分:0)

我尝试了上面的解决方案,除了我之外,它最终重复了当前现有的多重选择,而没有任何选择。我想要的那种但是重复。有没有更好的办法?感谢。

Heres my declaration in case it helps
    function createUsernameMultiSelect() {
        $('#usernamesFilter').kendoMultiSelect({
            autoClose: true,
            dataTextField: "Username",
            dataValueField: "UsernameValue",
            dataSource: {
                transport: {
                    read: {
                        type: "POST",
                        async: false,
                        url: "/Dashboard/GetDashboardData",
                        dataType: "json",
                        data: {
                            dashboardCode: "12",
                        }
                    }
                },
            },
            change: onUsernameChange,
            select: onUsernameSelect,

    });

答案 3 :(得分:0)

将多选设置为您的占位符值

var multiselect = $("#ICD10CodeIds").data("kendoMultiSelect");
        multiselect.value(0);