How to dynamically map json array elements to select tag?

I have a JSON array in a format like this

"StoreName":["10001 Main ST","10002 Part1","10004 MyStore1","10005 M STR", "10008 Centro","10009 MyStore 02","1001 G","1001 H","10010 Store main ROAD","10011 Central M Store","10012 En Department","10013 M Station","10014 Test Center","10015 SubStore1","10016 AA","10018 M part #","10019 Test A - 26032016","1002 B","1002 I","10020 Test Central B "] 

and I have to access each element and display it in the options in the select tag as

 <select id ="storeNm" name="name"> <option>--Select--</option> <option>---Here store name list contents---</option> <option>---Here store name list contents---</option> </select> 

I am new to JSON and have to do this with javascript / jQuery, so any help / guide would be appreciated.

+5
source share
1 answer

Iterate and generate elements using the Array#map method. Where elements to generate using jQuery .

 var data = { "StoreName": ["10001 Main ST", "10002 Part1", "10004 MyStore1", "10005 M STR", "10008 Centro", "10009 MyStore 02", "1001 G", "1001 H", "10010 Store main ROAD", "10011 Central M Store", "10012 En Department", "10013 M Station", "10014 Test Center", "10015 SubStore1", "10016 AA", "10018 M part #", "10019 Test A - 26032016", "1002 B", "1002 I", "10020 Test Central B "] }; // create select tag $('<select/>', { // set id of the element id: 'storenm', // generate html content by iterating over array html: data.StoreName.map(function(v) { // generate option with value and text content return $('<option>', { text: v, value: v }); }) // append the generated tag to body }).appendTo('body'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
+8
source

Source: https://habr.com/ru/post/1258121/


All Articles