我正在使用选择菜单:
<select id="form_frame1" name="frame1" onchange="getChart(this);">
<option value="area_chart_google" >Area Chart</option>
<option value="area_chart_2" selected="selected">Stacked Chart</option>
</select>
getChart 应该仅在更改选择时被触发:
function getChart(selection) {
alert(selection.value);
//do something
}
问题是,一旦我加载我得到的页面:area_chart_google:这甚至不是以前选择的选择!所以有两件事我不明白:
- 为什么加载页面(onload)后会触发 onChange 事件?
- 为什么它选择第一个选项,即使之前没有选择?
我刚刚找到了这个功能,我想这是问题所在:
jQuery(function() {
if (localStorage.getItem('form_frame1')) {
jQuery("#form_frame1 option").eq(localStorage.getItem('form_frame1')).prop('selected', true);
jQuery("#form_frame1 option").change();
}
jQuery("#form_frame1").on('change', function() {
localStorage.setItem('form_frame1', jQuery('option:selected', this).index());
});
});