如果我找到控件的方式如下所示,我如何在jQuery中设置下拉列表的索引:
$("*[id$='" + originalId + "']")
我之所以这样做,是因为我是动态创建控件的,而且由于在使用Web表单时ids会更改,因此我发现这是查找一些控件的一种变通办法。但是一旦有了jQuery对象,我就不知道如何将选定的索引设置为0(零)。
发布于 2009-08-21 21:15:10
首先,选择器相当慢。它将扫描每个DOM元素以查找It。如果您可以为元素分配一个类,那么对性能的影响就会小一些。
$(".myselect")
不过,为了回答您的问题,有几种方法可以更改jQuery中的select元素值
// sets selected index of a select box to the option with the value "0"
$("select#elem").val('0');
// sets selected index of a select box to the option with the value ""
$("select#elem").val('');
// sets selected index to first item using the DOM
$("select#elem")[0].selectedIndex = 0;
// sets selected index to first item using jQuery (can work on multiple elements)
$("select#elem").prop('selectedIndex', 0);
发布于 2010-06-23 18:12:40
我刚找到这个,它对我很有效,我个人觉得它更容易阅读。
这将设置实际的索引,就像gnarf的3号答案选项一样。
// sets selected index of a select box the actual index of 0
$("select#elem").attr('selectedIndex', 0);
这以前不管用,但现在管用了。请参阅错误:http://dev.jquery.com/ticket/1474
附录
按照评论中的建议,使用:
$("select#elem").prop('selectedIndex', 0);
发布于 2015-02-06 00:35:58
我写这个答案是在2015年,由于某种原因(可能是旧版本的jQuery),其他的答案都不适合我。我的意思是,他们改变了选定的索引,但它实际上并没有反映在实际的下拉列表中。
以下是更改索引的另一种方法,并实际将其反映在下拉列表中:
$('#mydropdown').val('first').change();
https://stackoverflow.com/questions/1314245
复制相似问题