2017-12-04 5 views
0

"Reset Filter"버튼을 추가 했으므로 약속 한대로 완벽하게 수행되므로 클릭 할 때마다 선택한 모든 필터가 재설정됩니다. 그러나 필터링에 사용하는 드롭 다운을 참조하면서 여전히 귀찮은 일이 있습니다. 해당 드롭 다운에서 무언가가 선택되고 "재설정"버튼을 누르면 드롭 다운에 선택된 값이 계속 표시됩니다. 드롭 다운을 열 때만 실제로 아무 것도 선택되지 않은 것을 볼 수 있습니다. issue 나는 무슨 뜻인지 보여주기 위해 다음 스크린 샷을 추가했습니다. 그것은 "리셋 필터"버튼을 눌렀을 때의 상황입니다. 따라서 드롭 다운의 재설정이 효과적이지만 (값을 선택하지 않음) 여전히 "BR"이 선택된 상태로 표시됩니다. 그러면 이제 해당 드롭 다운의 다른 값을 선택합니다 (예 : CA)를 선택하고 필터를 적용하면 (BR과 CA) 모두 선택됩니다 .. "필터 재설정"을 클릭 한 후 페이지를 다시로드하는 아약스가 필요하다고 생각했습니다. 또는 리셋을 처리하는 자바 스크립트가 있습니까? 나는 일종의 잃어버린.Symfony ResetType : 재설정 드롭 다운 선택

btw. 그 드롭 다운에 bootstrap-multiselect.js를 사용하고 있습니다!

 $('#document_filter_markets').multiselect({ 
    enableCaseInsensitiveFiltering: true, includeSelectAllOption: true, nonSelectedText: 'Select Markets', 
    maxHeight: 200 
    }); 

모든 아이디어를 지우는 방법은 무엇입니까?

답변

0

마침내 직접 대답을 찾았습니다.

나는 리셋 버튼 추가 :

<input type="reset" id="resetter" class="btn-primary btn btn-xs" value="Reset All"/> 

을 다음 모든 선택을 취소 한 다음 드롭 다운 새로 고침하는 버튼에 약간의 자바 스크립트를 추가 :

$("#resetter").click(function() {  
    $('option', $('#document_filter_markets')).each(function(element) { 
    $(this).removeAttr('selected').prop('selected', false); 
     }); 
     $("#document_filter_markets").multiselect('refresh'); 
}); 

가 도움이 희망을!