如何设置选项的值?

时间:2013-11-07 21:17:33

标签: javascript jquery

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

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 个答案:

答案 0 :(得分:3)

试试这个:

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

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

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

答案 1 :(得分:1)

$('select.mySelect option:eq(0)').attr('value', 'myvalue');

答案 2 :(得分:1)

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

$('select.mySelect option:eq(0)').attr('value', 'myvalue');

答案 3 :(得分:1)

你可以通过.eq()来控制巫婆孩子增加价值:

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

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

http://jsfiddle.net/Zy974/

同时

在Chrome上按F12并转到Console标签。你看到有什么错误吗?