如何使用JQuery选择第n个选项

时间:2010-11-19 07:25:15

标签: javascript jquery html

我有以下HTML

<select onchange="this.form.submit()" name="name">
    <option value="9995101E01#17201044055PM">9995101E01#17201044055PM</option>
    <option value="GRR-Example">GRR-Example</option>
    <option value="admin">admin</option>
    <option value="123w">123w</option>
</select>

我可以知道如何使用值“admin”来选择JQuery吗?

5 个答案:

答案 0 :(得分:85)

$('select[name=name] option:eq(2)').attr('selected', 'selected');

Demo

答案 1 :(得分:11)

像这样:

$("select[name='name'] option:eq(2)").attr("selected", "selected");

编辑:

要在新修改中执行您想要的操作,即选择值为admin的选项:

$("select[name='name'] option:contains('admin')").attr("selected", "selected");

See it working

答案 2 :(得分:4)

我不建议使用.attr('selected', 'selected')来设置选择值。 这是不好的做法。如果选择了两个选项&#39;属性 - 那么select的值是什么?

以下是简单易用的版本:

 $('select[name="name"]').val('admin');

DEMO

答案 3 :(得分:2)

只是更新,以防有人帮助。我有类似的要求,但在我的情况下,下拉列表存储为JavaScript变量。另外,我喜欢Denis Matafonov建议如何选择相关选项。所以这是最后一段代码:

var target_dd = $('select[name=name]');
$(target_dd).val($(target_dd).find('option:eq(2)').html());

答案 4 :(得分:0)

如果你想选择第n个选项触发onchange事件,那么:

function selectOption(nr) {
    var select = $("select");
    if (select.children().length >= nr) {
        let value = select.find('option:eq(' + nr + ')').val();
        select.val(value).change();
    }
}