jQuery : Cascading 드롭 다운 목록은 뒤로 버튼을 누를 때 값을 잃습니다.

StackOverflow https://stackoverflow.com/questions/2469053

문제

jQuery를 사용하여 계단식 드롭 다운 목록을 작성했습니다. 내가 작성한 코드는 작품입니다. 계단식 목록이 변경되면 계단식 목록을 업데이트합니다. 그러나 페이지에서 멀리 이동 한 다음 브라우저의 뒤로 버튼을 누르면 계단식 드롭 다운 목록이 값을 잃습니다. 다음은 내 코드입니다 (카테고리 목록은 변경 될 때 제품 목록을 채 웁니다).

<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>

페이지에서 탐색 할 때에도 제품 목록을 채우는 방법이 있습니까? 브라우저의 작동 방식에 대한 나의 이해는 탐색 할 때에도 페이지의 상태를 유지하기위한 것입니다.

나는 단지 코드를 넣을 수 있다는 것을 알고 있습니다

$(document).ready(function() { ... });

OnChange 메소드를 명시 적으로 호출하지만 실제로 페이지가 기존 상태를 유지하기를 원할 때 웹 사이트를 호출하는 단점이 있습니다.

도와주세요!

도움이 되었습니까?

해결책

브라우저가 JS 조작으로 인한 상태를 유지 해야하는 이유는 무엇입니까? 대부분의 브라우저는 그렇지 않습니다.

당신은 그것을 사용해 볼 수 있습니다 쿠키 도서관 그리고 무엇을 (있는 경우) 카테고리가 선택한 것을 저장하십시오. 사용자가 나중에 페이지로 돌아와서 쿠키를 지우지 않았을 때 쿠키에서 값을 읽고 자동으로 발행 할 수 있습니다. $.getJSON 제품 목록을 "리필"하도록 요청합니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top