我正在使用骨干表单,我想知道是否可以在选择字段中为选项(<option>
)添加一些样式。该应用程序非常复杂,所以只是一个片段:
this.schema = { xName : { title : i18n.t('x.name') + " " + i18n.t('x.name-msg'), type : 'Text', validators : [ { type : 'required', message : i18n.t('x.name-required-msg') }, { type : 'regexp', regexp : /.{3,}/, message : i18n.t('x.name-tooShort-msg') } ], }, */ ... */ selectY : { title : i18n.t('Y.project'), type : 'Select', options : this.getSomeOptions() //is defined and works well!! } /* and so on ... */
现在很明显,你不能只为selectY添加一个样式属性,以便在它们的选项和样式之间进行区分。例如。 (来自骨干表格文档):
fieldAttrs
要添加到字段的属性的映射,例如{style:'background: 红色',标题:'工具提示帮助'}
在我们(或任何)架构中,您可以为选项定义name
和label
。在渲染(或更具体地说:显示)表单字段时,您是否看到了在脏兮兮的黑客中使用jQuery的任何其他可能性?任何建议都将不胜感激。
答案 0 :(得分:2)
没有内置的方法,所以你可能想要创建一个自定义编辑器,它扩展Select并覆盖_arrayToHtml方法,例如:
var CustomEditor = Backbone.Form.editors.Select.extend({
arrayToHtml: function(array) { ... }
});
请参阅https://github.com/powmedia/backbone-forms#custom-editors