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


在我们的(或任何)模式中,您可以为选项定义namelabel。在呈现(或更具体地讲:显示)表单字段时/在肮脏的hack中使用jQuery之外,您是否看到其他任何可能性?任何建议,将不胜感激。

最佳答案

没有内置的方法可以执行此操作,因此您可能需要创建一个自定义编辑器,以扩展Select并覆盖_arrayToHtml方法,例如:

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

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

09-11 19:01
查看更多