I have a list of select boxes with incremental numbers to identify then e.g.
<select id="my-select-0">
<option value="1">first option</option>
<option value="2">first option</option>
< option value="3">first option</option>
</select>
<select id="my-select-1">
<option value="1">first option</option>
<option value="2">first option</option>
<option value="3">first option</option>
</select>
<select id="my-select-2">
<option value="1">first option</option>
<option value="2">first option</option>
<option value="3">first option</option>
</select>
I have a json string which I want to use to pre populate these selects e.g.
json = "[{'my-select': 1},
{'my-select': 3}]";
in the example above my-select-0 would be set to 1 and my-select-1 is set to 3.
How would I go about doing this in JQuery?
Thanks
I’m not sure exactly what you’re after, but if you change the JSON to be valid (double quotes) you can do it using
$.parseJSON()and looping through, like this:You can see a working demo here
Update: Since you control how this is rendered in the page just remove the initial quotes it’s wrapped in, like this:
You can see it working here, JSON is exactly what it’s name says, object notation…so just use it that way, don’t make it a string, just output/declare it directly as a javascript object…in this case it’s an array you can loop through, and it’s of course faster without all that extra work.