刷新后jQuery没有读取选定的选项

时间:2013-08-08 12:57:44

标签: jquery local-storage html-select

上午,

我有一个选择框,如下所示:

<select id="companyselect" name="companyselect">
<option value="-1">Please choose company</option>
<option value="CO1">CO1</option>
<option value="CO2">CO2</option>
<option value="CO3">CO3</option>
<option value="CO4">CO4</option>
</select>

除了第一个选项之外,所有选项都是使用jQuery(来自localStorage)生成的,并且应该显示。

我有一个jquery函数,它在'change'事件中触发:

$(document).on('change', '#companyselect', function(e){
    thecomp = $('#companyselect').val();
    alert(thecomp);
});

一切正常。

但是,当我重新加载页面时,所有选项都按预期生成,但“更改”事件未按要求运行。无论选择何种选项,$('#companyselect').val();始终作为第一个选项返回。

我已经检查过DOM以查看是否有另一个具有相同ID的元素,但没有。 我已经尝试返回选项的文本,并返回第一个选项的文本。

欢迎所有建议。

2 个答案:

答案 0 :(得分:2)

以下是使用localstorage获取所选值的方法,即使在使用localstorage使用jquery刷新页面之后,

$(document).on('change', '#companyselect', function(e){
var thecomp = $('#companyselect').val();
localStorage.thecomp=thecomp;
alert(thecomp);
});

    if(localStorage.getItem('thecomp')){
     alert(localStorage.thecomp);   
    $("#companyselect").val(localStorage.thecomp);
    }

<强> JSFIDDLE DEMO

答案 1 :(得分:0)

解决方案,有人放在这里但后来删除,是替换

thecomp = $('#companyselect').val();

thecomp = $(this).val();

感谢最近发布答案的人