我可以保持选择选择框的第一个和最后一个值
$("#selbox").val($("#sel_selbox option:last").val());
$("#selbox").val($("#selbox option:last").val());
如何保持选择第二个值?
$("#selbox").val($("#selbox option:second").val());
这是错误的。是否有通过提供索引来保持选择的选项?
答案 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()
重新显示隐藏的选项。