3

Ember のチェックボックスのリストのデータを ID の配列として取得する方法はありますか?

私のアプリでは、新しいサイトを作成したいと考えています。/sites/newサイトを追加するためのフィールドを含むフォームを表示するルートを作成しました。

これは私のモデルです:

App.Site = DS.Model.extend({
    name : DS.attr('string'),
    languages: DS.hasMany('App.Language')
});
App.Language = DS.Model.extend({
    name : DS.attr('string')
});

これは私のコントローラーです:

app.SitesNewController = Em.ObjectController.extend({
    needs : [ 'languages' ],
    name: null,
    languages: null,
    createSite : function() {
        // Get the site name
        var name = this.get('name');
        var languages = this.get('languages');
        console.log(name,description,languages);
        // Create the new Site model
        app.Site.createRecord({
            name : name,
            languages : languages
        });

        // Save the new model
        this.get('store').commit();
    }
});

これは私の SitesNewView (の一部) です:

{{#each controllers.languages}}
    <label class="checkbox">
        {{view Ember.Checkbox checkedBinding="languages"}}
        {{ name }}
    </label>
{{/each}} 
<button {{ action "createSite" }}>Save</button>

私のコンソールの言語はnull. から言語 ID の配列を取得するにはどうすればよいthis.get('languages')ですか?

アップデート

次のように、属性を持つ Ember.Select のようなものを意味しますmultiple=true{{view Ember.Select selectionBinding="languages" contentBinding="controllers.languages" optionValuePath="content.id" optionLabelPath="content.name" multiple="true"}}

4

1 に答える 1

2

jsfiddle早速作成した をご覧ください。

これは最善の解決策ではないかもしれませんが、少なくとも役立つはずです。

于 2013-02-25T21:44:28.087 に答える