Kim*_*nce 19 javascript jquery
我正在动态填充带有选项的选择框.当我这样做时,我希望选择框的值是第一个选项的值(如果你愿意,可以选择'默认选项').听起来很简单,但我无法让它发挥作用.
var myElement = $('select[name="myName"]');
Run Code Online (Sandbox Code Playgroud)
....尝试了以下三种变化
// myElement.find('option').first().prop('selected', 'selected');
// myElement.val(myElement.find('options').first().val());
myElement.prop('selectedIndex', 0);
Run Code Online (Sandbox Code Playgroud)
...但是以下行给出了空白警报
alert(myElement.val());
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
Sus*_* -- 30
选项应该是选项
myElement.find('option:eq(0)').prop('selected', true);
Run Code Online (Sandbox Code Playgroud)
您可以使用eq选项上的选择器来选择第一个选项.
如果您知道第一个选项的值.然后你就可以做到
myElemeent.val('first value') // Which selects the option by default
Run Code Online (Sandbox Code Playgroud)
你试过的第二种情况应该有效,除非你没有在正确的位置打电话.即; 等待ajax响应完成.
尝试在done或success(不建议使用)处理程序中调用它
你几乎得到了它,把's'放在'选项'中:
myElement.val(myElement.find('option').first().val());
Run Code Online (Sandbox Code Playgroud)
您还可以使用下一个代码:
myElement[0].selectedIndex = 0;
Run Code Online (Sandbox Code Playgroud)
这个 get 是 Dom 元素(不是 jQuery 对象),使用 vanilla Javascript 并使用它根据它的索引将第一个选项设置为选定的选项。