我正在使用主干表单,并且想知道是否可以在选择字段中向选项(<option>
)添加一些样式。该应用程序非常复杂,因此此处仅是一个片段:
this.schema = {
xName:{
title:i18n.t('x.name')+“” + i18n.t('x.name-msg'),
类型:“文字”,
验证人:[
{
类型:“必填”,
讯息:i18n.t('x.name-required-msg')
},
{
类型:“ regexp”,
regexp:/。{3,} /,
讯息:i18n.t('x.name-tooShort-msg')
}
],
},
* / ... * /
selectY:{
标题:i18n.t('Y.project'),
类型:“选择”,
options:this.getSomeOptions()//已定义并且运行良好!
}
/* 等等 ... */
现在很明显,您不能仅向selectY添加样式属性以区分选项和样式。例如。 (来自主干表单文档):
fieldAttrs
要添加到字段的属性映射,例如{style:'background:
红色”,标题:“工具提示帮助”}
在我们的(或任何)模式中,您可以为选项定义name
和label
。在呈现(或更具体地讲:显示)表单字段时/在肮脏的hack中使用jQuery之外,您是否看到其他任何可能性?任何建议,将不胜感激。
最佳答案
没有内置的方法可以执行此操作,因此您可能需要创建一个自定义编辑器,以扩展Select并覆盖_arrayToHtml方法,例如:var CustomEditor = Backbone.Form.editors.Select.extend({ arrayToHtml: function(array) { ... }});
见https://github.com/powmedia/backbone-forms#custom-editors