Add selected as true to dynamic dropdown | Community
Skip to main content
Shubham_borole
Community Advisor
Community Advisor
February 3, 2020
Solved

Add selected as true to dynamic dropdown

  • February 3, 2020
  • 4 replies
  • 4068 views

Hello All, I am trying to follow https://helpx.adobe.com/experience-manager/using/creating-touchui-dynamic.html and able to get the dynamic dropdown. However if I want to have a second dropdown value as selected I am unable to do so. Am I missing something?

 

I am trying following

DataSource ds = new SimpleDataSource(new TransformIterator(languages.keySet().iterator(), new Transformer() { public Object transform(Object o) { String language = (String) o; ValueMap vm = new ValueMapDecorator(new HashMap<String, Object>()); vm.put("value", language); vm.put("text", languages.get(language)); //my custom if(selctedLanguage==true) { vm.put("selected", true); } return new ValueMapResource(resolver, new ResourceMetadata(), "nt:unstructured", vm); } }));

. Still the drop down values show as top one selected. 

 

cc @arunpatidar I have looked at aem63app-repo/dynamic-dropdown.js at master · arunpatidar02/aem63app-repo · GitHub but I want to achieve this when I am populating the second dropdown via datasource. Using a ./hiddenproperty did not work for me...

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Shubham_borole

As mentioned in first comment I was able to achieve this by adding disabled=true for selected item. Thanks again to @arunpatidar for the great article

4 replies

Shubham_borole
Community Advisor
Community Advisor
February 3, 2020
I added vm.put("selected", true); vm.put("disabled", true); , in that case it seems to work. I get the expected view, just that the selected item will be disabled. But if I keep just vm.put("selected", true); then the selected value is not "selected"
sunjot16
Adobe Employee
Adobe Employee
February 3, 2020

Once the select tag is created, you can read that document element using query selector, parse through its options and set the "selected" attribute to the second option.

 

Hope it helps !!

Shubham_borole
Community Advisor
Community Advisor
February 4, 2020
yeah, I think I tried that, but when we choose to open the dialog and we are within "$(document).on("dialog-ready", function () " the "dialog box" is not available and hence we are unable to query the saved/selected item or root itself. is
Shubham_borole
Community Advisor
Shubham_boroleCommunity AdvisorAuthorAccepted solution
Community Advisor
February 4, 2020

As mentioned in first comment I was able to achieve this by adding disabled=true for selected item. Thanks again to @arunpatidar for the great article

Shubham_borole
Community Advisor
Community Advisor
February 10, 2020

Already added wha worked for me. This can be disregaded.