【问题标题】:ExtJs. How to set CSS for checkbox in fieldpanelExtJs。如何在字段面板中为复选框设置 CSS
【发布时间】:2019-01-21 17:41:47
【问题描述】:

我需要更改字段面板中复选框的显示。但是我还没有找到可以为它设置css样式的地方。 我的代码是这样的

{
     xtype: 'fieldset'
     ,title:'<font size="3"><spring:message code="title"/></font>'
     ,collapsible:true
     ,checkboxToggle: true
     ,collapsed: true
     ,margin: 5
     ,border: 0
     ,items: [{..}] 
}

截图:

我需要什么:

【问题讨论】:

  • 您的问题含糊不清。你能给出一个你想要复选框的截图吗? fieldset 和 checkbox 都有 cls 作为属性,您可以在其中指定样式类。
  • 我附上了现在的截图。 fieldset 中的第一个和第三个复选框。我需要将它们作为我的第二个复选框。我想只有一种方法可以做到这一点 - 不使用 fieldset 因为当我尝试将 css 属性添加到 fieldset 时,它改变了框架。

标签: extjs extjs4.2


【解决方案1】:

这是我能想到的解决方案。将字段集与复选框组一起使用。如果您检查复选框的 dom 布局,您会看到它是按钮类型,带有重复复选框的背景图像。因此,如果您想更改复选框的样式,您还必须更改背景图片。

{                   
                xtype:'fieldset',
                columnWidth: 0.5,
                title: 'Fieldset 1',
                collapsible: true,                
                defaults: {anchor: '100%'},
                layout: 'anchor',
                items :[
                        {
                            xtype: 'checkboxgroup',                         
                            // Arrange checkboxes into one column, distributed vertically
                            cls : 'checkboxOverride',                               
                            columns: 1,
                            vertical: true,
                            items: [
                                { boxLabel: 'Item 1', name: 'rb', inputValue: '1' },
                                { boxLabel: 'Item 2', name: 'rb', inputValue: '2', checked: true },
                                { boxLabel: 'Item 3', name: 'rb', inputValue: '3' }                                 
                            ]
                        }
                    ]

        }

在 CSS 中添加,

.checkboxOverride{
    border-color: blue; 
}

.checkboxOverride .x-form-checkbox{
    border-color: blue; 
    background-repeat: no-repeat;
    background-image: url("checkbox_unchecked.png");    
    width: 50px;
    height: 50px;
    margin: 20px;
    padding: 20px;
    vertical-align: middle;
}
.checkboxOverride .x-form-field{
    color: blue;

}
.checkboxOverride .x-form-cb-checked .x-form-checkbox {
    background-image: url("checkbox_checked.png");
    background-position: 0 0px;
}

结果会是这样的

感谢this stackoverflow post

【讨论】:

  • 谢谢。我明白你的意思,但在这种情况下,这将是 3 个复选框,但我需要制作文件集而不是第一个和第三个复选框(当我点击它们时应该打开一个面板)。我添加了我需要的图片。
猜你喜欢
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2013-03-29
  • 2013-07-23
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多