Kendo ui DropDownList未使用数据源中的数据填充

Kendo ui DropDownList未使用数据源中的数据填充,kendo-ui,datasource,viewmodel,kendo-dropdown,telerik-appbuilder,Kendo Ui,Datasource,Viewmodel,Kendo Dropdown,Telerik Appbuilder,嗨,我正在使用telerik appBuilder开发我的第一个移动应用程序,但我无法让剑道数据源使用下拉列表 我的Web服务的结果如下,但我无法获得该结果的正确数据绑定 {“d”:[{“id”:2209,“nom”:“测试1”},{“id”:23608,“nom”:“测试2”},{“id”:24061,“nom”:“测试3”},{“id”:24741,“nom”:“测试4”},{“id”:27347,“nom”:“测试5”} 请问,有什么想法吗?非常感谢 /* product.html*/ &

嗨,我正在使用telerik appBuilder开发我的第一个移动应用程序,但我无法让剑道数据源使用下拉列表

我的Web服务的结果如下,但我无法获得该结果的正确数据绑定

{“d”:[{“id”:2209,“nom”:“测试1”},{“id”:23608,“nom”:“测试2”},{“id”:24061,“nom”:“测试3”},{“id”:24741,“nom”:“测试4”},{“id”:27347,“nom”:“测试5”}

请问,有什么想法吗?非常感谢

/* product.html*/
<div id="product" data-role = "view"
         data-layout = "sharedlayout" data-model="app.productService.viewModel">                              
    <div class="view-content">
       <form >
           <div data-role="listview" data-style="inset">
             <div>
                Products:
                    <select id="product" data-role="dropdownlist"
                            data-bind="source: productsdataSource " 
                            data-text-field="id" 
                            data-value-field="product">
                        <option value="0"> </option>  
                    </select>
             </div>
          </div>
       </form>
    </div>
</div>   

我不确定你的问题到底出在哪里,但我有一些想法

  • 你为什么要扩展可观察的范围?为什么不直接使用kendo.observable({})
  • viewModel返回的是函数,而不是KendoUI所期望的对象
  • 我想你可能把事情复杂化了一点。我总结了一个非常简单的例子


    我还建议您删除
    数据角色=“dropdownlist”
    ?移动设备有自己的选择列表实现,通过这种方式,您可以在设备上使用本机选择功能。

    我不确定您的问题到底出在哪里,但我有一些想法

  • 你为什么要扩展可观察的范围?为什么不直接使用kendo.observable({})
  • viewModel返回的是函数,而不是KendoUI所期望的对象
  • 我想你可能把事情复杂化了一点。我总结了一个非常简单的例子

    我还建议您删除
    数据角色=“dropdownlist”
    ?移动设备有自己的选择列表实现,通过这种方式,您可以在设备上使用本机选择功能

    (function (global) 
    {
        var ProductsViewModel,
            app = global.app = global.app || {};
    
        ProductsViewModel = kendo.data.ObservableObject.extend (
        {
            getProducts: function() {
                var dataSource = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url: "urlexample",
                            type:"post",
                            contentType: "application/json; charset=utf-8",
                            dataType: "json"
                        }
                    },
                    schema: {
                        data: "d" 
                    },
                    type: 'json'
                });
    
            }
        });
        app.productService = { viewModel: new ProductsViewModel() };
    })(window);