已更改选择值重置为先前值

时间:2015-09-17 03:01:23

标签: javascript jquery

我正在使用一个应用程序,我需要创建一个select然后能够更改值,这样如果它被重置,它将更改为新值。这意味着更改DOM上的值而不仅仅是显示给用户的值。例如.val()不起作用,因为如果重置选择框,它将恢复为先前的值。我发现使用其他元素执行此操作的方法是使用.attr(“value”,)函数。问题是这不适用于选择。我还需要通过值设置select而不是我选择的选项的索引。我理想的是寻找一些与attr相同的东西。

1 个答案:

答案 0 :(得分:2)

value中没有<select>属性,默认值通过在该选项上设置selected属性来表示。

您可以使用属性选择器按值选择选项:$("#selectID option[value='foo']")

&#13;
&#13;
$("#change").click(function() {
    $("foo option").attr("selected", false);
    $("#foo option[value='2']").attr("selected", true);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<select id="foo">
    <option value="1" selected>One</option>
    <option value="2">Two</option>
    </select>
    <input type="reset"/>
</form>
<button id="change">Change default</button>
&#13;
&#13;
&#13;

请注意,这也会更改当前选择,而不仅仅是默认选择。我还没有找到改变默认方式的方法。