Я хочу выбрать первую опцию в списке выбора, которая соответствует определенному значению, в настоящее время выбрано последнее совпадение, например:
jQuery('.edit-item').click(function(){
var id = jQuery(this).attr('id');
var assignee = jQuery('#assignee-'+id).text();
jQuery('#edit-form-'+id+' select[name=item[responsible]]').val(assignee);
return false;
});
<select name="item[responsible]">
<option value="*">Anyone</option>
<option value="'+$user+'">Me ('+$user+')</option>')
-- here a loop with groups --
<option value="">----------</option>
<option value="'+$group+'">'+$group+'</option>')
-- here a loop with all usernames within $group
<option value="'+$username+'">'+$username+'</option>')
-- end loop --
-- end loop --
</select>')
Теперь, если конечный пользователь является правопреемником того, что пользователь выбран в группе, в которой он находится, а не вторым значением «я (пользователь)», есть ли способ сделать это или мне нужно какое-то решение?
В случае использования правопреемник - это бэк-пользователь, это просто
<select name="item[responsible]">
<option value="*">Anyone</option>
<option value="mister x" selected=selected>Me (mister x)</option> // this one needs to be selected
<option value="1">1</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="2">2</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="mister x">mister x</option> // this is the one that is selected
</select>
Хорошо, поэтому выбрано = выбрано, а не отмечено = проверено, независимо от того, что использует jQuery, это не делается вручную.
Итак, $("option[value='mister x']:first").attr("selected", "selected")
добивается цели, если бы был один единственный список, как это работает, когда существует несколько форм со всеми их уникальными идентификаторами edit-form- #?
ответ от ryanulit:
jQuery('#edit-form-'+id+' option[value='+assignee+']:first').attr("selected", "selected");