Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

How to set default value in a Touch UI select element?

andrew_bowles
Level 2
Level 2
I am trying to set the defaultValue in a Touch UI select dropdown. Setting "defaultValue" in dialog.xml works in Classic mode, but not in Touch. Here is the relevant snippet from my component's .content.xml <alignment jcr:primaryType="cq:Widget" sling:resourceType="granite/ui/components/foundation/form/select" fieldLabel="Alignment" name="./alignment" value="option2" defaultValue="option2"> <items jcr:primaryType="cq:WidgetCollection"> <topLeft jcr:primaryType="nt:unstructured" text="Option 1" value="option1"/> <topCenter jcr:primaryType="nt:unstructured" text="Option 2" value="option2"/> <topRight jcr:primaryType="nt:unstructured" text="Option3" value="option3"/> </items> </alignment>
1 Accepted Solution
andrew_bowles
Correct answer by
Level 2
Level 2

It seems that this is a bug with the granite select component (granite/ui/components/foundation/form/select).

The problem was also posted here, and never solved: http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manage...

View solution in original post

14 Replies
bsloki
Community Advisor
Community Advisor

defaultValue doesnt work in Touch UI.

If you want Option 2 be set as defaultValue. try using this 

 

  1. <alignment
  2. jcr:primaryType="cq:Widget"
  3. sling:resourceType="granite/ui/components/foundation/form/select"
  4. fieldLabel="Alignment"
  5. name="./alignment"
  6. value="option2"
  7. defaultValue="option2">
  8. <items jcr:primaryType="cq:WidgetCollection">
  9. <topLeft
  10. jcr:primaryType="nt:unstructured"
  11. text="Option 1"
  12. value="option1"/>
  13. <topCenter
  14. jcr:primaryType="nt:unstructured"
  15. text="Option 2"
  16. value="option2"
  17. selected="true"/>
  18. <topRight
  19. jcr:primaryType="nt:unstructured"
  20. text="Option3"
  21. value="option3"/>
  22. </items>
  23. </alignment>
Swathi1
Level 1
Level 1

selected="{Boolean}true"

It worked fine for touch ui in AEM 6.3 but didnot work when inplace upgrade was done to upgrade to 6.5. Please advise.

bsloki
Community Advisor
Community Advisor

Basically, you need to add 'selected' property which takes a boolean for the option which you want. by default it will be 'false'

andrew_bowles
Level 2
Level 2

I've added selected="true" to the second value in the dropdown, but the first value is still selected by default.

<horizontal jcr:primaryType="cq:Widget" sling:resourceType="granite/ui/components/foundation/form/select" fieldLabel="Horizontal Alignment" name="./halign"> <items jcr:primaryType="cq:WidgetCollection"> <topLeft jcr:primaryType="nt:unstructured" text="Left" value="hleft"/> <topCenter jcr:primaryType="nt:unstructured" text="Center" value="hcenter" selected="true"/> <topRight jcr:primaryType="nt:unstructured" text="Right" value="hright"/> </items> </horizontal>

bsloki
Community Advisor
Community Advisor

Have you added it as a String or boolean ?

bsloki
Community Advisor
Community Advisor

if you are changing directly in the xml, it should be like

selected="{Boolean}true"

andrew_bowles
Level 2
Level 2

I am making the change directly in the component's .content.xml, but selected="{Boolean}true" hasn't worked either. It seems to always default to the first option.

andrew_bowles
Correct answer by
Level 2
Level 2

It seems that this is a bug with the granite select component (granite/ui/components/foundation/form/select).

The problem was also posted here, and never solved: http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manage...

View solution in original post

darakhshan_shei
Level 1
Level 1

Andrew Bowles wrote...

I am making the change directly in the component's .content.xml, but selected="{Boolean}true" hasn't worked either. It seems to always default to the first option.

 


Did you get a solution for this ? selected = true (as a boolean property) doesnt work. If you have some other solution plz share.

andrew_bowles1
Level 1
Level 1

I was never able to find a solution. selected="{Boolean}true" hasn't worked for me. 

darakhshan_shei
Level 1
Level 1

Hi Loki,

selected boolean true doesnt work to set a property as a default . Can you please guide on a solution to this.

BhargavThogata
Level 1
Level 1

Hi,

Checked selected={Boolean}true. works fine in AEM 6.1 with SP2 installed.

 

Thanks,

Bhargav

matteom53776983
Level 1
Level 1

Hi,

in order to make it work isn't enough to add 

selected="{Boolean}true" 
in the option you want as default, you have also to set

forceIgnoreFreshness="{Boolean}true"

in the select node itself.