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”,但事实并非如此。我在这里做错了什么?
答案 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)
以获取第二个选项,依此类推。
同时强>
在Chrome上按F12并转到Console
标签。你看到有什么错误吗?