使用jQuery将选择框值设置为第一个选项
Use jQuery to set select box value to first option
我正在用选项动态填充一个选择框。当我这样做时,我希望选择框的值是第一个选项的值(如果你愿意,可以是"默认选项")。听起来真的很简单,但我就是做不到。
var myElement = $('select[name="myName"]');
尝试了以下三种变体
// myElement.find('option').first().prop('selected', 'selected');
// myElement.val(myElement.find('options').first().val());
myElement.prop('selectedIndex', 0);
但是下面的行给出了一个空白警报
alert(myElement.val());
我哪里错了?
选项应为选择
myElement.find('option:eq(0)').prop('selected', true);
您可以使用选项上的eq
选择器来选择第一个选项。
如果您知道第一个选项的值。然后你可以简单地做
myElemeent.val('first value') // Which selects the option by default
你尝试的第二个案例应该有效,除非你打电话的时机不对。即;等待ajax响应完成。
尝试在done
或success
(已弃用)处理程序内部调用该函数
你几乎得到了它,把"s"放在"options"中:
myElement.val(myElement.find('option').first().val());
工作jsFiddle
您还可以使用下一个代码:
myElement[0].selectedIndex = 0;
这个get是Dom元素(而不是jQuery对象),与vanilla Javascript一起使用,并使用它将第一个选项设置为基于其索引的选定选项。
如果你想确保你的选项有一个值,而不是占位符,你可以这样做:
$('select option').filter( function (index, option) {
return option.attributes.value
}).val()
这样,您将检查HTML节点是否具有属性value
并且不为空。
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- JQuery在设置另一个值之前将附加值设置为null
- Cookie只设置为一个域名,但网站有多个域名
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 选择多个实例中的第一个
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- 看起来第一个console.log是'It’不太对
- 与杜兰达尔合作的第一个JavaScript项目.尝试从第三方 API 获取数据
- 当用户设置另一个选择值时,如何通过 Javascript 设置另一个选择值
- 节点发布错误对象的第一个“属性”
- 如果在第一个 jsp 页面设置了刷新参数,则会刷新所有 jsp 页面
- 找到ul的第一个li来设置其类
- 可以'当第一个select的值改变时,让jquery设置select输入的值