如何使用 jQuery 选择下拉选项?
我想知道是否可以让 jQuery 在下拉框中选择 (例如第四项)?
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
我希望用户单击一个链接,然后让
I was wondering if it’s possible to get jQuery to select an <option>
, say the 4th item, in a dropdown box?
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
I want the user to click a link, then have the <select>
box change its value, as if the user has selected it by clicking on the <option>
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
怎么样
示例:
对于现代版本的 jquery,您应该使用
.prop()
而不是 <代码>.attr()示例:
How about
Example:
for modern versions of jquery you should use the
.prop()
instead of.attr()
Example:
解决办法:
The solution:
HTML 选择元素具有
selectedIndex
可以写入以选择特定选项的 属性:使用纯 JavaScript 可以通过以下方式实现:
HTML select elements have a
selectedIndex
property that can be written to in order to select a particular option:Using plain JavaScript this can be achieved by:
我会这样做
I would do it this way
最简单的方法是
val(value)
函数:并且要获取不提供任何参数的选定值:
此外,如果您有
,你可以这样做:
DEMO
The easiest way is
val(value)
function:And to get the selected value you give no arguments:
Also, you if you have
<option value="valueToSelect">...</option>
, you can do:DEMO
如果你的选项有一个值,你可以这样做:
“select”将是你的选择器或类选择器的ID。或者,如果只有一个选择,您可以使用示例中的标签。
if your options have a value, you can do this:
'select' would be the id of your select or a class selector. or if there is just one select, you can use the tag as it is in the example.
如果您想选择具有特定值的选项,请使用以下代码:
Use the following code if you want to select an option with a specific value:
与 eq() 相比,我更喜欢 nth-child(),因为它使用基于 1 的索引而不是基于 0 的索引,这对我来说稍微容易一些。
I prefer nth-child() to eq() as it uses 1-based indexing rather than 0-based, which is slightly easier on my brain.
这里需要注意的是,如果您有 JavaScript 监视 select/option 的更改事件,则需要添加
.trigger('change')
,以便代码变为。因为仅调用
.attr('selected', 'selected')
不会触发该事件One caveat here is if you have javascript watching for select/option's change event you need to add
.trigger('change')
so the code become.because only calling
.attr('selected', 'selected')
does not trigger the event对于 '' 元素,我们通常使用 'value' 属性。这将使设置变得更容易:
With '' element usually we use 'value' attribute. It will make it easier to set then:
试试这个:
问候!
Try this:
Regards!
用id回答:
answer with id:
这对我有用:
如果你想随机化选项,你总是可以这样做:
虽然第二个超出了你的问题范围,但它可以说明如何根据要求应用/修改第一个。
This works for me:
If you want to randomise options, you could always do something like this:
Whilst the 2nd lies outside scope of your questions, it serves to illustrate how 1st could be applied / amended as req.