2017-02-14 5 views
0

select2 다중 선택 드롭 다운 페이지 느슨한 데이터를 새로 고칩니다. select2 드롭 다운 상태 유지 관리내가 원하지 않는 select2 멀티 select 페이지를 새로 고침에서 느슨한 데이터를 드롭 다운. select2 드롭 다운 상태가 유지되어야합니다

아래 코드는 내 코드입니다. 그것의 일 벌금, 난 문제가 select2 우리가 페이지를 새로 고치면 선택/데이터를 잃고있다. 내 요구 사항은 페이지를 새로 고친 후에도 거기 값을 제거하지 않아야합니다/또는 비어 있습니다.

$processOrderNbr.select2({ 
 
      ajax: getProcessOrderNbr(), 
 
      minimumInputLength: 4, 
 
      placeholder: " ", 
 
      allowClear: false, 
 
      multiple: true 
 
     }); 
 

 
     function getProcessOrderNbr() { 
 
      return { 
 
       url: 'GetProcessOrder', 
 
       dataType: 'json', 
 
       delay: 250, 
 
       data: function (params) { 
 
        return { 
 
         searchKeyword: params 
 
        }; 
 
       }, 
 
       results: function (data) { 
 
        return { 
 
         results: $.map(data, function (item) { 
 
          return { 
 
           text: item, 
 
           id: item 
 
          } 
 
         }) 
 
        }; 
 
       } 
 
      }; 
 
     }

답변

0

당신은 select2 상자에 다시 넣어해야합니다. 비슷한 값으로 window.sessionStorage으로 작업하여 선택한 값을 저장합니다. 페이지를 다시로드 한 후,이 코드로 select2 상자에 세션 스토리지에 저장된 값을 설정

var selectionList = [{ id: window.sessionStorage.getItem("searchValue"), text: window.sessionStorage.getItem("searchValue")}]; 
$("#searchValue").select2({ 
       data: selectionList 
}); 
$('#searchValue').val(window.sessionStorage.getItem("searchValue")).trigger("change"); 

가의 값을 저장하는 window.sessionStorage이 코드를 사용할 수 있습니다 어쩌면

$('#searchValue').select2({ 
... 
.on("change", function (e) { 
    window.sessionStorage.setItem("searchValue", $(this).val()); 
} 
... 

을 이 솔루션은 귀하의 사례에 도움이됩니다. 그러나 누군가가 더 나은 해결책을 알고 있습니까?