2

こんにちは私は、コンボボックスにデータベースのデータを入力するための最良の方法を探しました。私はこの方法で試しましたが、JavaScriptでそれを行うためのより良い方法があると思います。

皆さん、ありがとうございました

var albumStore = new JsonRest({target:"/album", idAttribute:"id"});
var store = new Memory();

albumStore.query('').then(function(data) {

    json = new Array();
    for(i in data){
        item = {
            name: data[i].nome,
            id: data[i].id
        }
        json[i] = item;
    }
    store .setData(json);
})

props =  {
    required : true,
    missingMessage: 'campo obrigatório',
    store: store
}
4

2 に答える 2

1

配列スライスメソッドを使用して、配列のクローンを作成できます。

var restStore = new JsonRest({ target: "/album/", idProperty: "Key" });
var memoryStore = new Memory({ idProperty: "Key" });

restStore.query().then(function(response) {
    memoryStore.setData(response.slice(0));
});

RESTサーバーがサポートしている場合は、でJsonRest直接ストアを使用することもできます。このjsFiddleでsinon.jsfakeServerComboBoxとどのように連携するかをご覧ください:http: //jsfiddle.net/phusick/N8DqG/

于 2012-09-12T10:12:19.330 に答える
0

あなたのケースのストアがItemFileWriteStoreであると仮定して、次のコードを置き換えます。

json = new Array();
                for(i in data){
                    item = {
                        name: data[i].nome,
                        id: data[i].id
                    }
                    json[i] = item;
                }
                store .setData(json);

以下に示すように、ストアのnewItemAPIを使用します

            for(i in data){
                item = {
                    store.newItem({id: data[i].id, name: data[i].name});
                }
            }

同様に、ストアからアイテムを削除するためのAPIがあります。

store.deleteItem(item);
于 2012-09-11T02:14:16.800 に答える