How to create form data model using json schema and dynamically populate drop down values for fields country,state,city | Community
Skip to main content
jhansi_lakshmik
New Participant
July 10, 2019
Solved

How to create form data model using json schema and dynamically populate drop down values for fields country,state,city

  • July 10, 2019
  • 4 replies
  • 2418 views

Hi,

can  anyone suggest how to create a form data model using json in AEM forms 6.5 and how to populate dynamic drop down values for the Adaptive form fields country ,state, city assuming the json contains country,state,city values,is there any way we can achieve this without using servlets.

Thanks in advance,

Jhansi.

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 Mayank_Gandhi

RESTful web service can be described using Swagger specifications in JSON or YAML format in a Swagger definition file. To configure RESTful web service in AEM cloud services, ensure that you have either the Swagger file on your filesystem or the URL where the file is hosted.

Here is a simple way to initialize drop down from JSON value: Put this script on form initialise and change the dropdown item name as per your form.

console.log('dropdown init ');

var text = '{"cars":[ "Ford", "BMW", "Fiat" ]}';

var jsonParsed = JSON.parse(text);

console.log(jsonParsed);

var DDL = [];

for (i = 0; i < jsonParsed.cars.length; i++) {

    var idItem = jsonParsed.cars[i];

  console.log(" item idteam"+idItem);

    var nomeAzienda = jsonParsed.cars[i];

  console.log("nomeAzienda"+nomeAzienda);

    DDL.push(idItem + " = " + nomeAzienda);

}

  dropdownlist1562834391516.items = DDL;

  console.log(dropdownlist1562834391516.items);

  console.log("end of init function");

4 replies

Mayank_Gandhi
Mayank_GandhiAccepted solution
Employee
July 11, 2019

RESTful web service can be described using Swagger specifications in JSON or YAML format in a Swagger definition file. To configure RESTful web service in AEM cloud services, ensure that you have either the Swagger file on your filesystem or the URL where the file is hosted.

Here is a simple way to initialize drop down from JSON value: Put this script on form initialise and change the dropdown item name as per your form.

console.log('dropdown init ');

var text = '{"cars":[ "Ford", "BMW", "Fiat" ]}';

var jsonParsed = JSON.parse(text);

console.log(jsonParsed);

var DDL = [];

for (i = 0; i < jsonParsed.cars.length; i++) {

    var idItem = jsonParsed.cars[i];

  console.log(" item idteam"+idItem);

    var nomeAzienda = jsonParsed.cars[i];

  console.log("nomeAzienda"+nomeAzienda);

    DDL.push(idItem + " = " + nomeAzienda);

}

  dropdownlist1562834391516.items = DDL;

  console.log(dropdownlist1562834391516.items);

  console.log("end of init function");

Mayank_Gandhi
Employee
July 10, 2019

Give me some time I will share the screenshot with you on the approach.

jhansi_lakshmik
New Participant
July 10, 2019

Hi Mayank Gandhi,

Thanks for the prompt response, we are not connecting to any database , can you suggest how to populate the dynamic drop down list based on the json as a data model

Thanks in advance,

Jhansi.

Mayank_Gandhi
Employee
July 10, 2019

Hi Jhansi,

Please refer this old thread where I have discussed similar scenario:

Re: AEM 6.3 Forms - How can I populate a dropdownlist from database?