【发布时间】:2013-07-12 03:19:30
【问题描述】:
该项目使用marionette-rails、backbone-on-rails、select2-rails 和此port to BackboneForms 来提供多选表单字段。选择选项可供用户使用。它们是从包含选项总列表的集合中检索的:
MyApp.module("Products", function(Products, App, Backbone, Marionette, $, _) {
Products.CustomFormView = Products.CustomView.extend({
initialize: function(options) {
this.model.set("type", "Product");
Products.EntryView.prototype.initialize.apply(this, arguments);
},
schemata: function() {
var products = this.collection.byType("Product");
var productTypes = products.map(function(product){
return {
val: product.id,
label: product.get("name")
};
});
return {
productBasics: {
name: {
type: "Text",
title: "Name",
editorAttrs: {
maxLength: 60,
}
},
type: {
type: 'Select2',
title: "Product type",
options: {
values: productTypes,
value: [3, 5],
initSelection: function (element, callback) {
var data = [];
$(element.val().split(",")).each(function () {
data.push({id: this, text: this});
});
callback(data);
}
},
editorAttrs: {
'multiple': 'multiple'
}
}
}
};
}
});
});
我是否在options.value 中正确初始化value?为什么initSelection 永远不会被调用?我从文档中复制了该功能-对于我的情况可能不完整。 ID 为 3 和 5 的产品均未显示为选择项。
【问题讨论】:
标签: ruby-on-rails marionette jquery-select2 backbone-forms select2-rails