привязать данные шаблона для выбора опции - PullRequest
2 голосов
/ 29 апреля 2011

скажем, у меня есть шаблон jquery с этим HTML-кодом:

<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>

мой json выглядит так: { "FirstName": "John", "Gender": "Male" };

Я могу связать myfirstname, используя $ {FirstName}, но как это сделать?я связываю выпадающее значение?Я использовал $ {Gender}, но в нем отображается только значение, а НЕ раскрывающийся список с выбранной опцией "Male".

1 Ответ

0 голосов
/ 29 апреля 2011

Один из вариантов будет выглядеть примерно так:

<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>

Если это слишком многословно, вы можете создать функцию для сопоставления, например:

function match(value, choice) {
    return value === choice ? "selected='selected'" : "";   
}

Затем выполните:

<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>
...