該項目使用marionette-rails,backbone-on-rails,select2-rails和port to BackboneForms來提供多選表單字段。選擇選項可供用戶使用。它們含有的期權總榜單收集檢索: 如何在BackboneForms架構中初始化rails-select2的選擇?
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
顯示爲選擇。
感謝您的文檔提示。我明白我必須將選項設置爲'options:{value:[3,5]}'。我應該在哪裏提供'initSelection'?我是否需要擴展[骨幹形式編輯器](https://gist.github.com/Integral/5156170)?請添加一些代碼片段。 – JJD
我可以看到你如何在'gist:5161061](https://gist.github.com/powmedia/5161061)從'schema'加載'config'。但是,你可以指定你如何定義'options.value'和resp。 'config.value'和'initSelection'如果需要?請添加一些代碼。 – JJD
我猜'initSelection'屬於文檔中的選項:*「請注意,爲了使用此方法,您必須在選項中定義initSelection函數...」* – JJD