我有一个包含几个选择字段和一些输入字段的隐藏表单,点击按钮应该显示该表单并设置一些字段的值。输入字段填充了给定的值,但是我在选择字段方面遇到了问题。
使用这段代码:
$("#form select[name=user]").val(value);
选项具有该值的属性“selected”(在Firebug中进行检查),但选择字段仍显示“Choose”(初始)选项。
我尝试在设置值后执行焦点和模糊,但也没有起作用。
有什么建议吗?
这基本上是标准形式:
<form action="#" id="form" class="fix">
<div class="holder">
<label>User:</label>
<select name="user" class="styled">
<option value="0" selected>Choose</option>
<option value="1">User 1</option>
<option value="2">User 2</option>
</select>
</div>
</form>
通过调用 jQuery 语句:
$("#form select[name=user]").val('2');
$("#form").show();
我在 Firebug 中看到了这个:
<form action="#" id="form" class="fix" style="display:none">
<div class="holder">
<label>User:</label>
<select name="user" class="styled">
<option value="0">Choose</option>
<option value="1">User 1</option>
<option value="2" selected>User 2</option>
</select>
</div>
</form>
但是选择的文本仍然是"Choose"。如果我提交表单,值会被正确传递。然后,如果我重置表单并选择某个选项,选择的选项文本就会正确显示。这对我来说很奇怪。