我有一個選擇填充選項的表單。我想使用backbone.stickit將其綁定到模型,但文檔顯示如何填充綁定配置上的選擇。我無法找到一種簡單的方法將模型與預先填充的選區綁定。我正在使用backbone.stickit進行模型綁定。我如何將預填充的選擇與模型綁定?
這是我的HTML
<div id="main">
<form id="formulario">
<input id="test1" type="text" />
<select id="test2">
<option value="0">a</option>
<option value="1">b</option>
</select>
</form>
<div id="value-test1"></div>
<div id="value-test2"></div>
</div>
這是基於文檔的工作示例,但不是我所需要
var Model = Backbone.Model.extend({});
var View = Backbone.View.extend({
el: $('#main'),
bindings: {
'#test1': 'test1',
'#value-test1': 'test1',
'#test2': {
observe:'test2',
selectOptions: {
collection: function() {
return [
{value: 0, label:'a'},
{value: 1, label:'b'}
];
}
}
},
'#value-test2': 'test2'
},
render: function() {
this.stickit();
}
});
var model = new Model({test1: 'test', test2: 0});
var view = new View({model: model}).render();
http://jsfiddle.net/camilosw/nDjHh/
我試圖獲得選項值使用jquery綁定配置的選擇,但不起作用
var Model = Backbone.Model.extend({});
var View = Backbone.View.extend({
el: $('#main'),
bindings: {
'#test1': 'test1',
'#value-test1': 'test1',
'#test2': {
observe:'test2',
selectOptions: {
collection: function() {
options = $("#test2 option").map(function(){
return {value: this.value, label: this.text};
}).get();
return options;
}
}
},
'#value-test2': 'test2'
},
render: function() {
this.stickit();
}
});
var model = new Model({test1: 'test', test2: 0});
var view = new View({model: model}).render();
http://jsfiddle.net/camilosw/2EYV7/2
它的工作,但我認爲這將是形成一個爛攤子有許多選擇
window.options = $("#test2 option").map(function(){
return {value: this.value, label: this.text};
}).get();
var Model = Backbone.Model.extend({});
var View = Backbone.View.extend({
el: $('#main'),
bindings: {
'#test1': 'test1',
'#value-test1': 'test1',
'#test2': {
observe:'test2',
selectOptions: {
collection: function() {
return window.options;
}
}
},
'#value-test2': 'test2'
},
render: function() {
this.stickit();
}
});
var model = new Model({test1: 'test', test2: 0});
var view = new View({model: model}).render();
http://jsfiddle.net/camilosw/Y3aEF/1
什麼是綁定一個預填充選擇一個最好的方式模型?
我只用backbone.stickit試過,用另一個庫更容易嗎?
謝謝你的努力。我明白你的觀點,以前在外面留下這個功能,但是在某些情況下,我們可以輸入較少的代碼來預先填充選擇,而不是在客戶端(我在drupal上使用它)填充它。 – Camilo 2013-02-26 14:05:42