0

我正在使用主干形式,我想知道是否可以<option>在选择字段中为选项()添加一些样式。该应用程序非常复杂,所以这里只是一个片段:

    这个.schema = {
        x名称:{
            标题:i18n.t('x.name') + " " + i18n.t('x.name-msg'),
            类型:'文本',
            验证器:[
                {
                    类型:'必需',
                    消息:i18n.t('x.name-required-msg')
                },
                {
                     类型:'正则表达式',
                     正则表达式:/.{3,}/,
                     消息:i18n.t('x.name-tooShort-msg')
                }
            ],
        },
    */ ... */
        选择Y:{
            标题:i18n.t('Y.project'),
            类型:'选择',
            options : this.getSomeOptions() //已定义并且运行良好!!
        }
    /* 等等 ... */

现在很明显,您不能只向 selectY 添加一个样式属性来区分它的选项和样式。例如(来自主干形式文档):

字段属性

要添加到字段的属性映射,例如 { style: 'background: red', title: 'Tooltip help' }

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

4

1 回答 1

2

没有内置的方法可以做到这一点,因此您可能希望创建一个自定义编辑器来扩展 Select 并覆盖 _arrayToHtml 方法,例如:

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

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

于 2014-06-02T11:12:57.537 回答