Kendo ui Kendoui Multiselect显示工具提示上选定的文本值

Kendo ui Kendoui Multiselect显示工具提示上选定的文本值,kendo-ui,Kendo Ui,我有一个问题,我喜欢在工具提示上显示MultiSelect控件的选择文本值。 我只能显示MultiSelect中的数值,这是我的代码: var multiselect = $("#combo_multi").data("kendoMultiSelect"); value2 = multiselect.value(); //show only numeric values ->14376, etc. 一起显示数值,不带空格。->14376 我喜欢显示文本值,而不是数字值。 我想我必须使用

我有一个问题,我喜欢在工具提示上显示MultiSelect控件的选择文本值。 我只能显示MultiSelect中的数值,这是我的代码:

var multiselect = $("#combo_multi").data("kendoMultiSelect");

value2 = multiselect.value(); //show only numeric values ->14376, etc.
一起显示数值,不带空格。->14376

我喜欢显示文本值,而不是数字值。 我想我必须使用一个数组来显示文本值,但我不知道怎么做。
如果有人对这个问题有反应,我很感激这个解决方案。谢谢。

也许这能帮你一点忙

var multiselect = $("#combo_multi").data("kendoMultiSelect");
var value2 = multiselect.value();
var selectedValues = value2.split(",");

var multiSelectData = multiselect.dataSource.data();

for (var i = 0; i < multiSelectData.length; i++) {
    var numberValue = multiSelectData[i].number;
    for (var j = 0; j < selectedValues.length; j++) {
        if (selectedValues[j] == numberValue) {
            // here we get description for value
            var desc = multiSelectData[i].description;
            break;
        }
    }
}

我使用的是剑道UI的更新版本,所以可能自从你问这个问题后,情况发生了变化。我会给你一个最新的答案

var multiselect = $("#combo_multi").data("kendoMultiSelect");
var selectedValues = multiselect.value();
var multiSelectData = multiselect.dataSource.data();
var count = selectedValues.length;
for (var i = 0; i < multiSelectData.length; i++) {
        if (selectedValues.indexOf(multiSelectData[i].Value) >= 0 ) {
                //found, do something
                var selectedText = multiSelectData[i].Text;
                count--;
        }
        if (count == 0) {
             break;
        }
}
其他示例

$("#multiselect").kendoMultiSelect();
var multiselect = $("#CityTo").data("kendoMultiSelect");
var dataItem = multiselect.dataItems();

//***Debug

var CityArray = new Array();
CityArray = dataItem;
alert(JSON.stringify(CityArray));

//***End Debug

//**************** Applied example

var newHtml = "";
var item = dataItem;
$.each(item, function (index, item) {
newHtml += '<div class="panel panel-default" ><div class="panel-heading">' + item.City_Name + '</div><div class="panel-body">Panel Content</div></div>';
});

$("#CityCount").html(newHtml);
您可以使用item查看详细信息dataItem


item.City\u Name

谢谢Japi,我在var selectedValues=value2.split上有一个错误;->未定义,我需要做一些测试如果value2是逗号分隔的字符串,split方法应该可以工作。您可以使用console.log value2进行检查;不知道自2014年你写这篇文章以来,情况发生了多大变化,但是multiselect.value;已经以正确的格式返回,不需要调用split,它不是逗号分隔的字符串。如果要将所有选定文本保留在一个数组中:var selectedText=[];然后在ISDE if循环中替换为此selectedText.pushmultiSelectData[i].Text;如果你需要它回来串以后?var selectedTextString=StringselectedText;