javascript - 如何在具有多个选择的表单中使用 jquery 设置选定的下拉选项?

标签 javascript jquery html jquery-ui

我有一些文本输入和下拉菜单的表单。此元素是根据上一页中的用户选择动态生成的,并且这种元素的动态生成工作正常。现在,假设我的代码如下所示 -

<form id="myForm" >
<select id='id1'>
<option value="">Select an option</option>  
<option value="opt1">opt1</option>  
<option value="opt2">opt2</option>  
<option value="opt3">opt3</option>  
</select>  
<select id='id2'>  
    <option value="">Select an option</option>  
    <option value="Apple">Apple</option>  
    <option value="Orange">Orange</option>  
    <option value="Grape">Grape</option>  
   </select>  
</form>

现在我想将所有下拉菜单项的选项重置为第一个,即 - 当用户点击重置按钮时“选择一个选项”。

<button class="reset-field" id="clearBtn">Reset</button>


为此我尝试了-

$(document).ready(function(){
 ...
  $("#clearBtn").click(function(){
  $('#myForm select').each(function(key, value) {
   $(this).val("");
  });
 });
});

基本上这会将值设置为 "" 而不是选项。我的意思是所选项目没有改变。知道我们如何将选项设置为 - “选择一个选项”。

谢谢。

最佳答案

$(this)[0].selectedIndex = 0;

在 jQuery 元素上使用数组选择器将返回指向实际基于 DOM 的对象(而不是 jQuery 包装对象)的指针。从那里,您可以将 selectedIndex 设置为 0(列表中的第 0 个元素)。

关于javascript - 如何在具有多个选择的表单中使用 jquery 设置选定的下拉选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436857/

相关文章:

jquery - jQuery UI 小部件自动完成功能可以与克隆上的委托(delegate)一起使用吗?

javascript - 基于查询字符串的事件选项卡

html - 将文本框拉伸(stretch)到页面的整个宽度,边距为 5px

HTML/CSS - 链接无效

javascript - 尽管我已经尝试了很长时间,但无法使下拉菜单滑动效果起作用

javascript - BitGO-JS 超出交易 250 笔限制

php - 将 PHP 设置传递给 Javascript 的最佳方式是什么?

jquery - 使用 jQuery grep() 过滤 JSON 数组

javascript - .removeClass() jQuery 立即添加删除的类

javascript - jquery 和动画有多异步?