如何将kendoMultiSelect选定的值存储在数组变量中?

时间:2019-10-16 16:48:40

标签: javascript jquery knockout.js kendo-ui

我想将下拉列表中的选定值存储到数组中,但会得到空值。

这是将选定值存储在数组中的正确方法吗?

var selecteddeliverableLists = ko.observableArray();

 function loadDeliverableKeyValuePairs() {
        deliverableKeyValuePairLists.removeAll();
        $.get("/common/packagestatus/get/pairs", function (responseData) {
            var dataArray = deliverableKeyValuePairLists();
            responseData.forEach(function (o) {
                dataArray.push({
                    Id: o.key,
                    Name: o.value
                });
            });
            deliverableKeyValuePairLists.valueHasMutated();
        }).done(function () {
            selecteddeliverableLists =  $("#deliverable__kendo__selection").kendoMultiSelect({
                dataTextField: "Name",
                dataValueField: "Id",
                optionLabel: " -- Select All -- ",
                dataSource: deliverableKeyValuePairLists(),
                index: 0,
                change: filterdeliverable
                //onChangeDeliverableFilter
             });
            });
        selecteddeliverableLists.valueHasMutated();
    }


function filterdeliverable() {
        var newval = selecteddeliverableLists.val();
        console.log(newval);
    }

2 个答案:

答案 0 :(得分:0)

您将获得的值为 element_name.data(“ kendoMultiSelect”)。value();

function filterdeliverable() {
        var newval = $("#deliverable__kendo__selection").data("kendoMultiSelect").value();
        console.log(newval);
    }

答案 1 :(得分:0)

进行更改后,可以使用change的{​​{1}}事件存储新的值数组。

您可以直接在kendoMultiSelect事件的回调函数中使用新数组,也可以稍后使用它。

请参见以下代码段中的一个简单示例:

change