使用 JavaScript 或 Jquery 从 kendo 下拉列表中获取 value/text 对

Hot to get value/text pairs form kendo dropdown using JavaScript or Jquery

我正在使用 kendo 下拉列表,例如:

Html:

<input id="field_timezone" style="width: 275px;" tabindex="4">  

JS:

resultList = $.parseJSON(response.d);   //data via ajax call

$("#field_timezone").kendoDropDownList({
    dataTextField: "TimeZoneDescription",
    dataValueField: "TimeZoneID",
    dataSource: resultList,
    optionLabel: {
        TimeZoneDescription: "Choose",
        TimeZoneID: ""
    }
});

我正在尝试查找下拉菜单中应显示的 value/text 对选项。

我试过:

alert(JSON.stringify($('#field_timezone').data('kendoDropDownList').dataSource.data()));

alert(JSON.stringify($('#field_timezone').data('kendoDropDownList').dataSource._data));

给出了用于数据源的列表,但它缺少 "Choose" 选项,并且没有选项可以找出哪些字段用于值或文本。

而且是对的。 DataSource 不应该有 optionLabel 数据,因为它实际上不是数据。您可以通过以下方式获得选项 属性:

$('#field_timezone').data('kendoDropDownList').options.optionLabel

要直接获取选项标签,试试这个:

var ddl = $('#field_timezone').data('kendoDropDownList');
var option = ddl.options.optionLabel[ddl.options.dataTextField];