0

菜鸟问题我只想通过 jQuery 在选择标签中设置一个选项的值我正在这样做:

HTML:

<select class="mySelect">
  <option value="">1</option>
  <option value="">2</option>
  <option value="">3</option>
  <option value="">4</option>
</select>

JS:

$('select.mySelect:first-child').val("test");

这应该将第一个选项的值设置为“test”,但事实并非如此。我在这里做错了什么?

4

4 回答 4

3

尝试这个:

$('select.mySelect :first-child').val("test");
// add a space ---^

您的选择器正在寻找一个选择元素,它第一个子元素,而不是选择元素的第一个子元素。

您还需要确保在解析相关元素后执行 JS,因此将其包含在 select 之后出现的脚本元素中(将脚本放在结束</body>标记之前是一种常见约定)和/或包装它在文档就绪处理程序中。

于 2013-11-07T21:19:32.220 回答
1
$('select.mySelect option:eq(0)').attr('value', 'myvalue');
于 2013-11-07T21:21:28.647 回答
1

当您使用val()为选择设置值时,jQuery 会搜索 并将其<option>标记为选定选项。你想要做的是改变它的“价值”属性,这是阿德里安所做的

$('select.mySelect option:eq(0)').attr('value', 'myvalue');
于 2013-11-07T21:23:05.957 回答
1

您可以通过以下方式控制女巫儿童以增加价值.eq()

$('select.mySelect option').eq(0).val("test");

上面的代码将选择所有选项并过滤它们以找到第一个选项。将其更改eq(1)为第二个选项,依此类推。

http://jsfiddle.net/Zy974/

在 chrome 上按 F12 并转到Console选项卡。你看到那里有什么错误吗?

于 2013-11-07T21:23:10.357 回答