首先,感谢backbone-forms的工作人员,他们开发了一个完美地集成到backbone.js框架中的工具。
我正在使用带有backbone-forms插件的backbone.js,但我需要创建条件字段。
假设我有以下形式。我想根据在select中选择的值显示(或不显示)带有文本或文本区域的单行输入。
<form method="post" action="">
<select >
<option value="" selected="selected">choose one</option>
<option value="1" >line</option>
<option value="2" >area</option>
</select>
<input id="element_1" />
<textarea id="element_2" ></textarea>
</form> 像这样的行为在backbone中默认实现了吗?
如果没有,我如何使用javascript和backone-forms实现它?
谢谢。
发布于 2012-07-30 06:32:44
您可以将事件绑定到选择元素,并让它们切换其他表单元素的可见性。
试试这个:
$(function() {
//The form
var form = new Backbone.Form({
schema: {
inputType: { type: 'Select', options: ['line', 'area'] },
line: 'Text',
area: 'TextArea'
}
}).render();
form.fields['area'].$el.hide();
form.on('inputType:change', function(form, editor) {
form.fields['line'].$el.toggle();
form.fields['area'].$el.toggle();
});
//Add it to the page
$('body').append(form.el);
});下面是一些实时代码:http://jsfiddle.net/shioyama/grn6y/
派生自此:https://groups.google.com/d/topic/backbone-forms/X5eVdTZWluQ/discussion
发布于 2012-07-11 21:56:58
没有默认的implementation.In事实,完全靠你自己也很简单,请参考以下代码:
//Pseudo code
var line = $("element_1"),area = $("element_2");
if(selectvalue ==="1"){
line.show();
area.hide();
}
else{
line.hide();
area.show();
}https://stackoverflow.com/questions/11433314
复制相似问题