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状態を維持させたいのに、Webサイトを呼び出すという欠点があります。
助けてください!