上午,
我有一个选择框,如下所示:
<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的元素,但没有。 我已经尝试返回选项的文本,并返回第一个选项的文本。
欢迎所有建议。
答案 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();
感谢最近发布答案的人