我有3个下拉列表,其中包含国家的地区、位置和子位置。
我使用Ajax在某人从第一个列表中选择某个内容后填充位置和子位置列表。
现在谈谈我的问题:
我正在使用
LocalStorage
因此,当刷新页面时,我可以保留这些值,并使用最后选择的值自动重新填充列表。
列表已成功填充,但无法更改
selectedIndex
(选择“选择城镇/选择子区域”)。
我尝试了我在stackoverflow找到的关于如何改变的每一种方法
选定索引
他们中没有一个工作,也没有一个给我带来错误。
所以我可以假设
ajax
?
像js这样的东西改变了
选定索引
但是
ajax
即使
ajax
早于第一次调用。这样的事情可能吗?
jQuery:
jQuery(document).ready(function(){
if(localStorage) {
if(localStorage.regions) {
jQuery('#region_h').val(localStorage.regions);
alert(localStorage.regions);
getlocations_main(localStorage.regions); //ajax call for locations
}
if(localStorage.locations) {
jQuery('#location_h').val(localStorage.locations);
jQuery('#location_h option').eq(this.selectedIndex).prop('selected',true);
alert(localStorage.locations);
getsublocations_main(localStorage.locations); //ajax call for subloc
}
if(localStorage.subloc){
jQuery('#subloc_h option').eq(this.selectedIndex).prop('selected',true);
}
}
});
HTML格式:
<div class="row rowInput_spiti360">
<div class="ie_fix_select_spiti360" >
<div id="location_add_yo" class="mainselection" >
<select class=" searchcategory" name="location_h" id="location_h" onchange="getsublocations_main(this.options[this.selectedIndex].value)">
<option selected="selected" value="-1">Select a Town:</option>
</select>
</div>
</div>
</div>
<div class="row rowInput_spiti360">
<div class="ie_fix_select_spiti360" >
<div id="sublocation_add_yo" class="mainselection" >
<select id="subloc" name="subloc" class=" searchcategory">
<option selected="selected" value="-1">Select a sublocation:</option>
</select>
</div>
</div>
</div>