Хорошо, я предполагаю, что у вас есть HTML, который выглядит так:
Please select a state:
<ul>
<li>New York</li>
<li>Pennsylvania</li>
<li>Ohio</li>
<li>California</li>
<li>Washington</li>
<li>Alaska</li>
<li>Hawaii</li>
</ul>
<select name="state">
<option value="1">New York</option>
<option value="2">Pennsylvania</option>
<option value="3">Ohio</option>
<option value="4">California</option>
<option value="5">Washington</option>
<option value="6">Alaska</option>
<option value="7">Hawaii</option>
</select>
Когда вы нажимаете на Калифорния li
, вы хотите выбрать четвертый вариант? Достаточно просто: просто создайте простой массив, который сопоставляет индексы с именами:
var map = [null, "New York", "Pennsylvania", "Ohio", "California",
"Washington", "Alaska", "Hawaii"];
Затем используйте функцию $.inArray
, чтобы найти индекс, соответствующий состоянию:
var index = $.inArray($(this).html(), map);
Затем установите для выбора опцию с индексом, который вы только что нашли:
$("select").val(index);
jsFiddle