$(“#select option:second”)。val()jquery - 保持选择第二个选择框选项的值

时间:2011-07-15 21:07:05

标签: jquery

我可以保持选择选择框的第一个和最后一个值

$("#selbox").val($("#sel_selbox option:last").val());

$("#selbox").val($("#selbox option:last").val());

如何保持选择第二个值?

$("#selbox").val($("#selbox option:second").val());

这是错误的。是否有通过提供索引来保持选择的选项?

5 个答案:

答案 0 :(得分:44)

是的,您需要特殊的jQuery eq()选择器。

    $("#selbox").val($("#selbox option:eq(1)").val());

答案 1 :(得分:12)

这样做的选择方式是:eq()as already suggested

但是,这不是最好的方法。因为eq是一个非标准的,特定于jQuery的扩展,所以整个查询必须由jQuery的选择器引擎解析。所有选择都不是由浏览器的本机选择功能处理的。这意味着选择将更慢。

如果你做一个简单的选择,然后用jQuery方法将其删除,你将获得更好的性能,因为浏览器的原生选择函数(称为querySelectorAll)将处理它可以做的一切,这将提供一个大速提升。

$('#selbox option').eq(1).val();
$('#selbox option').last().val();
$('#selbox option').first().val();     // same as .eq(0).val();

请参阅:

答案 2 :(得分:1)

或者像这样:

$('#selbox').find('option').eq(1).val();

答案 3 :(得分:0)

另一种写作方式。

$("#selbox").val($("#selbox option").eq(1).val());

答案 4 :(得分:0)

我需要隐藏除前两个选项之外的所有选项并使用它。

$("#DDLId").find('option:not(:first)').not(":first").map(function ()
{
    return $(this).parent('span').length == 0 ? this : null;
}).wrap('<span>').hide();

注意,这会使用“hide with a span”技巧而不是简单地使用hide(),因为IE不会直接隐藏选项。

使用.unwrap().show()重新显示隐藏的选项。