我已经使用 JQuery 编写了一个级联下拉列表。我编写的代码有效;级联列表更改时,更新级联到列表。但是当我离开页面然后按下浏览器上的后退按钮时,CASCADED 下拉列表会丢失其值。这是我的代码(类别列表在更改时填充产品列表):
<select id="CategoryList" onchange="CategoryList_OnChange()">
<option value="" selected="selected"></option>
<option value="1" selected="selected">Food</option>
<option value="2" selected="selected">Toys</option>
<option value="3" selected="selected">Books</option>
</select>
<select id="ProductList"></select>
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function CategoryList_OnChange() {
var selected = $('#CategoryList').val();
if (selected != null && selected != '') {
$.getJSON('SelectList/ProductList/' + selected, function(selectList) {
$('#ProductList option').remove();
$.each(selectList, function(index, value) {
$('#ProductList').append("<option value='" + value.Value + "'>" + value.Text + "</option>");
});
});
}
}
</script>
即使离开页面,有什么方法可以保持 ProductList 的填充?我对浏览器如何工作的理解是,它们旨在保持页面状态,即使在导航离开时也是如此。
我知道我只能将代码放入
$(document).ready(function() { ... });
这将显式调用 onchange 方法,但这具有调用网站的缺点,而实际上我希望页面保持 EXISTING 状态。
请帮忙!