2017-09-21 5 views
0

Ich muss das Sichtfeld der Checkbox in einem Feldpanel ändern. Aber ich habe nicht gefunden, wo ich css Stil dafür einstellen kann. Mein Code sieht wie folgt ausExtJs. Wie man CSS für Checkbox in fieldpanel setzt

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

screenshot

what I need

+0

Ihre Frage nicht eindeutig ist. Können Sie einen Screenshot geben, wie das Kontrollkästchen aussehen soll? Sowohl fieldset als auch checkbox haben eine Eigenschaft, mit der Sie die styleclass angeben können. – AswathyPrasad

+0

Ich habe den Screenshot angehängt, wie es jetzt aussieht. Das erste und das dritte Kontrollkästchen von fieldset. Ich muss sie als meine zweite Checkbox machen. Ich denke, es gibt nur einen Weg, dies zu tun - Fieldset nicht zu verwenden, denn als ich versuchte, css-Eigenschaft zu Fieldset hinzuzufügen, änderte es den Frame-Seufzer. – Evgenia

Antwort

0

Dies ist die Lösung, die ich tun konnte. Verwenden Sie fieldset mit checkboxgroup. Wenn Sie das dom-Layout des Kontrollkästchens überprüfen, werden Sie sehen, dass es sich um eine Schaltfläche mit Hintergrundbild von wiederholten Kontrollkästchen handelt. Wenn Sie also den Stil des Kontrollkästchens ändern möchten, müssen Sie auch das Hintergrundbild ändern.

{     
       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' }         
          ] 
         } 
        ] 

     } 

In CSS add,

.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; 
} 

Ergebnis aussehen wird

Result

Dank this stackoverflow post

+0

Danke. Ich sehe, was Sie meinen, aber in diesem Fall wären das 3 Checkboxen, aber ich muss Dateisets statt der ersten und dritten Checkbox machen (wenn ich darauf klicke, sollte ein Panel geöffnet werden). Ich habe das Bild hinzugefügt was ich brauche. – Evgenia