jquery - 使用 jQuery select 更改它不会显示选定的选项

标签 jquery html-select

我有隐藏表单,其中包含一些选择字段和一些输入字段。单击按钮应显示该表单并在字段中设置一些值。输入字段已填充给定值,但我在选择字段时遇到问题。

使用此代码:

$("#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>

但选择的文本仍然是“选择”。如果我提交表单,该值就会正确传递。

如果我重置表单并选择某个选项,则所选选项的文本会正确显示。这就是我觉得奇怪的地方。

最佳答案

我找到了解决方案。我忘记调用 的更改事件。我不知道 jQuery 不会自动执行此操作。所以解决的代码是:

$("form select[name=user]").val(value).change();

关于jquery - 使用 jQuery select 更改它不会显示选定的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4344113/

相关文章:

jquery - 抓取 jQuery 设置 CSS 类

jquery - 网页动画css高亮

html - 如何模仿html选择框

javascript - echo JS选中时的Option值

jquery - 链接文本上的 substr 方法并添加省略号?

javascript - 幻灯片更改后淡入对象

JQueryeach() 填充 li 或 span

asp.net-mvc - mvc c# html.dropdownlist 和 viewbag

javascript - 如何让这个jQuery函数更加优雅呢?

javascript - jQuery ui 自动完成 : Add the selected value to the dropdown and avoiding duplicates