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 回答