How to retrieve all data of a kendo ui dropdown li

2019-04-28 13:08发布

问题:

I want to pull all data of a kendo dropdown list. I create dropdown with this code:

$("#dropDownList").kendoDropDownList({

    dataTextField: "field",
    autoBind: true,
    dataSource: {
        transport: {
            type: "POST",
            read: {
                url: "http://abc.com",
                contentType: "application/json; charset=utf-8",
                dataType: "json"
            }
        }
    },
    select: onSelect
});

};

Then I tried to pull data with using

var data = $("#dropDownList").data("kendoDropDownList").val();
var values = [];
for (var item in data) {
    values.push(this.item);

}

But it didn't work. Any idea how can I do? Thanks in advance.

回答1:

Can you try :

var data = $("#dropDownList").data("kendoDropDownList");


回答2:

Try this it will retrive all values from Kendo dropdown.

var values = [];
    var grid = $("#SampleDropdown").data("kendoDropDownList");

    var ds = grid.dataSource;
    var len = ds._data.length;
    if (len > 0) {
        var i;

        for (i = 0; i < len; i++) {
            var val = ds._data[i].Value;
            values.push(val);
        }
      }


回答3:

Try this.

 var values = [];
    var data = $("#dropDownList option").each(function(){
  values.push($(this).val());
  });


回答4:

If you want the actual DataItems from the DDL you can get them by Viewing the DataSource:

$("#dropDownList").data("kendoDropDownList").dataSource.view()

You can then also find individual items easily by id if you need to:

$("#dropDownList").data("kendoDropDownList").dataSource.view().find(x=>x.Value === 'ID')