backbone-forms:选择字段的样式选项?

时间:2014-06-02 08:42:17

标签: javascript css backbone.js backbone-forms

我正在使用骨干表单,我想知道是否可以在选择字段中为选项(<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:   红色',标题:'工具提示帮助'}

在我们(​​或任何)架构中,您可以为选项定义namelabel。在渲染(或更具体地说:显示)表单字段时,您是否看到了在脏兮兮的黑客中使用jQuery的任何其他可能性?任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:2)

没有内置的方法,所以你可能想要创建一个自定义编辑器,它扩展Select并覆盖_arrayToHtml方法,例如:

var CustomEditor = Backbone.Form.editors.Select.extend({ arrayToHtml: function(array) { ... } });

请参阅https://github.com/powmedia/backbone-forms#custom-editors