将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量

本文关键字:ajax 响应 数据获取 变量 数据绑定 kendo 下拉列表 | 更新日期: 2023-09-27 18:32:54

我正在使用剑道下拉框到我的网页。这是我的java脚本函数。

        function BindNonEventDownList(_propertyId, _url, _textField, _valueField) {
            $(_propertyId).kendoDropDownList({
                optionLabel: '<%= Resources.ResourceiChain.Select %>',
                 dataTextField: _textField,
                 dataValueField: _valueField,
                 dataSource: {
                     type: "json",
                     serverFiltering: true,
                     transport: {
                         read: _url
                     },
                     schema: {
                         data: "Data",
                         total: "Count"
                     }
                 }
             });
        }

这是我的回应。

        {"Data":[],"Count":0}

我想将此计数设置为变量。我该怎么做?

将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量

您可以使用数据源的 total 方法:

var dropdown = $(_propertyId).data("kendoDropDownList");
var count = dropdown.dataSource.total();

但是,请确保在调用 total 方法时已收到数据。否则它将返回0 .

我找到了答案......首先初始化数据源。然后使用data.length,你可以得到数据的长度。

     function BindNonEventDownList(_propertyId, _url, _textField, _valueField) {
        var dataSource = new kendo.data.DataSource({
               transport: {
                         read: _url
                     },
                     schema: {
                         data: "Data",
                         total: "Count"
                     }
            });
            dataSource.fetch(function(){
              var data = this.data();
              console.log("data:"+data.length);
            });

            $(_propertyId).kendoDropDownList({
                optionLabel: '<%= Resources.ResourceiChain.Select %>',
                 dataTextField: _textField,
                 dataValueField: _valueField,
                 dataSource: dataSource
             });
        }