1

こんにちは、telek appBuilder を使用して最初のモバイル アプリを作成していますが、Kendo データソースをドロップダウン リストで操作することができません。

Web サービスの結果は以下のとおりですが、その結果の正しいデータ バインドを取得できません。

{"d":[{"id":2209,"nom":"テスト 1"},{"id":23608,"nom":"テスト 2"},{"id":24061,"nom" :"テスト 3"},{"id":24741,"nom":"テスト 4"},{"id":27347,"nom":"テスト 5"}]}

Pls、何かアイデアはありますか?どうもありがとう。

/* 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>   

ProductViewModel.js

(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);
4

1 に答える 1

5

あなたの問題がどこにあるのか正確にはわかりませんが、いくつかのアイデアがあります...

  1. なぜオブザーバブルを拡張するのですか?kendo.observable({}) を使用しないのはなぜですか?
  2. あなたのviewModelは、Kendo UIが期待するオブジェクトではなく、関数を返しています。

これを少し複雑にしすぎているのではないかと思います。私は非常に単純な例をまとめました...

http://plnkr.co/edit/T41nZqZNLqtOTfjG8upK?p=preview

data-role="dropdownlist"?を削除することもお勧めします。モバイル デバイスには独自の選択リストが実装されているため、デバイスでネイティブの選択機能を使用できます。

于 2014-09-24T16:29:11.870 に答える