2015-11-25 76 views
0

我有在它下面选中元素的HTML表单:HTML选择期权价值不更新

<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(); 
}); 
+0

当你控制台登录网址你有正确的网址为每个选择? –

+0

感觉就像我在看50%的代码。创建一个[jsfiddle](http://jsfiddle.net)将帮助我帮助你 – Endless

+0

不是100%肯定,但尝试'onchange =“this.form.submit();”'也'.find('option:selected' )' –

回答

3

变化

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

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

或:

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

或:

$("#sort")val() 

的选择option[selected]没有找到,因此目前所选择的选项,它发现在DOM中selected属性(这通常是一个在HTML中的selected属性选项,尽管可以使用Javascript来改变它)。

+0

补充一点 - 不同之处在于,从服务器发送HTML的选定属性定义了最初选择的选项。在当前选定的选项上有一个单独的选定属性(不是属性),但是HTML本身不会更改为将属性移动到新选择的选项。 –

+0

感谢您的帮助,此工作,并感谢解释为什么我遇到错误 –