HTML选择选项值未更新

HTML Select Option Value Not Updating

本文关键字:更新 选项 选择 HTML      更新时间:2023-09-26

我有一个HTML表单,其中包含以下select元素:

<select class="form-control" onchange="$('form#filter').submit()" id="sort" name="sort">
    <option value="0" selected="selected">A - Z</option>
    <option value="1">Z - A</option>
</select>

问题是,当我选择不同的选项时,HTML不会更新并将我选择的选项设置为所选选项。

我完全不知道为什么它没有更新,我已经做了几个小时了。

这是绑定到表单上提交事件的函数,以备您需要:

$("form#filter").on("submit", function(evt)
{
    var form = $(this);
    var target = $("div#bands");
    var url = form.attr("action") + "/" + form.find('option[selected]').val();
    console.log(url);
    $.get(url).done(function(data)
    {
        target.html(data);
    });
    evt.preventDefault();
});

更改

form.find("option[selected]").val()

form.find("option:selected").val()

或:

form.find("select").val()

或:

$("#sort").val()

选择器option[selected]找不到当前选择的选项,而是在DOM中找到具有selected属性的选项(这通常是HTML中具有selected属性的选项,尽管可以使用Javascript进行更改)。

接受的答案不正确。这里有一个正确的解决方案(在撰写本文时在最新的JQuery和Bootstrap上进行了测试):

$("#mySelect").find("option:selected").val();

感谢Barmar的启发,尽管4条建议中只有1条有效,而且只是偶然。但我对此进行了调整,以注销当前所选选项的正确值属性。(使用下拉菜单时,初始选项的选定状态不会更新,请参阅Chris O'Kelly的评论。)