首页 > 解决方案 > 如何在 Kendo 多选变量中获取选定的文本?

问题描述

我已将剑道下拉列表转换为剑道多选。

下拉列表包含 2 项:

  1. D-UDMS-TMA数据管理系统
  2. U-TDMS-SMA管理系统
$("#btnSendFlow").click(function () {

            debugger;

            var FlowData_array = [];

            //var ROLECODE = $("#DDRolecode").val().trim();---For dropdownlist output: "D"
            var ROLECODE = $("#DDRolecode").data("kendoMultiSelect").value();//added by chetan for multiselect output: "D" "U"

            // var MPID = $("#DDRolecode").data("kendoDropDownList").text().split('-');---for dropdownlist output: (3)["D","UDMS","TMA Data Mgmt System"]
            var MPID = $("#DDRolecode").data("kendoMultiSelect").value().split('-');//added for multiselect(How to do For multiple selected items?)-->
            output should be like:
            (3)["D","UDMS","TMA Data Mgmt System"]
            (3)["U","TDMS","SMA Mgmt System"]



        .....
        .....
        }

Commented lines is for Dropdownlist.

输出应该类似于 var MPID:

(3)["D","UDMS","TMA Data Mgmt System"]
(3)["U","TDMS","SMA Mgmt System"]

标签: javascriptajaxmodel-view-controllerkendo-uikendo-multiselect

解决方案


您需要使用dataItems多选上的方法来获取底层选定的数据项。

所以你需要做的就是改变你的代码:

var MPID = $("#DDRolecode").data("kendoMultiSelect").value().split('-') 

至:

var MPID = $("#DDRolecode").data("kendoMultiSelect").dataItems(); 

因此,这将为您提供您选择的数据项数组。因此,如果您只需要 id,则将返回的 dataItems 更改value mappingvaluePrimitive:true或将其映射到您需要的数组列表。

我包括了一个道场,展示了如何获得这些物品:https ://dojo.telerik.com/ILEvITUQ

这是从用于多选的 api demo dojo 中获取的,但我已经更改了Get Values按钮以仅将项目映射到它们的值,并且还对 dataItems 数组进行了字符串化。


推荐阅读