jquery - bind template data for select option -
let's have jquery template html code:
<div> <span id="myfirstname"></span> <select id="mygender" multiple="multiple"> <option value="1">-select-</option> <option value="2">male</option> <option value="3">female</option> <option value="4">notspecified</option> </select> </div>
my json looks : { "firstname": "john", "gender": "male" };
i can bind myfirstname using ${firstname} how bind drop down value? used ${gender} displays value , not drop down list "male" option selected.
one option like:
<div> <span id="myfirstname">${firstname}</span> <select id="mygender" multiple="multiple"> <option value="1">-select-</option> <option value="2" {{if gender == 'male'}}selected="selected"{{/if}}>male</option> <option value="3" {{if gender == 'female'}}selected="selected"{{/if}}>female</option> <option value="4" {{if gender == 'notspecified'}}selected="selected"{{/if}}>notspecified</option> </select> </div>
if verbose, create function match like:
function match(value, choice) { return value === choice ? "selected='selected'" : ""; }
then do:
<div> <span id="myfirstname">${firstname}</span> <select id="mygender" multiple="multiple"> <option value="1">-select-</option> <option value="2" ${match(gender, 'male')}>male</option> <option value="3" ${match(gender, 'female')}>female</option> <option value="4" ${match(gender, 'notspecified')}>notspecified</option> </select> </div>
Comments
Post a Comment