javascript - 如何在 Kendo 多选变量中获取选定的文本?
问题描述
我已将剑道下拉列表转换为剑道多选。
下拉列表包含 2 项:
- D-UDMS-TMA数据管理系统
- 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"]
解决方案
您需要使用dataItems
多选上的方法来获取底层选定的数据项。
所以你需要做的就是改变你的代码:
var MPID = $("#DDRolecode").data("kendoMultiSelect").value().split('-')
至:
var MPID = $("#DDRolecode").data("kendoMultiSelect").dataItems();
因此,这将为您提供您选择的数据项数组。因此,如果您只需要 id,则将返回的 dataItems 更改value mapping
为valuePrimitive:true
或将其映射到您需要的数组列表。
我包括了一个道场,展示了如何获得这些物品:https ://dojo.telerik.com/ILEvITUQ
这是从用于多选的 api demo dojo 中获取的,但我已经更改了Get Values
按钮以仅将项目映射到它们的值,并且还对 dataItems 数组进行了字符串化。
推荐阅读
- database - 在表格的查询编辑器中添加新的列
- spring - 部署在连接到 mariadb 的 tomcat 上的 Spring 应用程序的连接池的最佳选择
- python - 如何在我的 python 点击游戏中放置一个计时器,并使圆圈消失?
- vtk - 如何在 vtk 文件中设置时间步以在 Paraview 中可视化
- docker - 设置默认 Docker 容器域名
- windows - 如何递归搜索文件,但仅对使用批处理文件找到文件的实例进行操作?
- php - PHP日历中的回显日期间隔
- php - 更改 preg_replace 网址
- css - SVG 为每个路径使用一种颜色
- javascript - 如何禁用直到当前日期的日期?对于输入类型 Datetime-local