9
<select id="mySelect">
  <option id="sel01" value="some value">some value</option>
  <option id="sel02" value="some other value">some other value</option>
  <option id="sel03" value="maybe me">maybe me</option>
  <option id="sel04" value="and another one">and another one</option>
</select>

我想选择一个使用 jQuery 的选项,但不是按值:

$("#mySelect").val(1);

但通过元素 id。

感谢您的回答。

4

7 回答 7

12

你可以使用prop方法。

var id = 'sel02';

$('#mySelect option').filter(function(){
   return this.id === id
}).prop('selected', true);

或者:

$('#' + id).prop('selected', true);

或者如果你想根据它的索引选择一个选项,你可以使用eq方法:

$('#mySelect option').eq(1).prop('selected', true);
于 2013-01-14T11:59:49.220 回答
3
   var id= "sel01";

    $('#selectid option').each(function(){
        if($(this).attr('id') == id){
           $(this).attr('selected',true);
         }
    });
于 2013-01-14T12:02:23.937 回答
1

您可以使用 ID 检索元素值并使用 jQuery 的值val()

var elementId = 'sel01';
$("#mySelect").val($('#' + elementId).val());
于 2013-01-14T11:59:54.460 回答
1

如果要选择选项:

$('#mySelect option#sel02').prop('selected',true);

如果要获取所选选项 id 的值:

$('#mySelect option#sel02').val();
于 2013-01-14T12:01:18.297 回答
1

试试这个语法,

$('select option:selected').attr('id');

选中此处,它将根据文本值选择选项。

于 2013-01-14T12:09:46.413 回答
0

像这样。只需更改 eq(0) 中的数字

$("#mySelect").val($("#mySelect").children().eq(0).val());
于 2013-01-14T12:03:38.810 回答
0

我不知道上下文,但是当我需要从 json 获取数据并选择特定组合框的选项时,这对我有用:

$("#mySelect option[id='" + someVariable + "']").attr('selected', 'selected');
于 2014-10-13T22:16:27.990 回答