Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to display json array elements dynamically into select tag?

I have a JSON array in the 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 of it and display it into options in 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 it using javascript/jQuery so any help/guidance will be appreciated.

like image 809
Shreya Rawal Avatar asked Oct 13 '16 06:10

Shreya Rawal


1 Answers

Iterate and generate elements using Array#map method. Where elements can be 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>
like image 126
Pranav C Balan Avatar answered Oct 05 '22 13:10

Pranav C Balan