2015-01-28 2 views
1

내 테이블을 검색 할 수 있도록 jquery datatables을 사용하고 있습니다. 나는 성별 열을 필터링하는 드롭 다운이 있습니다jquery datatables : 열 검색 필터를 지우는 방법

$("#genderDrop").on("change", function(e) { 
    var gender = $(this).val(); 

    formTable.column(2).search(gender).draw(); 
}); 

이 잘 작동을하지만, 지금은 사용자가 드롭 다운 메뉴에서 "모두"를 선택하면 필터를 제거 할 수 있어야합니다.

$("#genderDrop").on("change", function(e) { 
    var gender = $(this).val(); 
    if (gender != "all") { 
     formTable.column(2).search(gender).draw(); 
    } else { 
     formTable.column(2).search("").draw(); 
    } 
}); 

대신이 그냥 빈 문자열 검색 필터를 제거하지만이를 변경하는 방법을 작동하지 않을 수의 때문에 필터를 제거 : 여기 내 시도이다. 나는 또한 시도 :

formTable.column(2).search("*").draw(); 

formTable.column(2).search().draw(); 

있지만 성공하지  을.

답변

2

빈 값으로 성별 선택 :

<option value="">All</option> 

그들을 당신의 코드가 작동합니다

$("#genderDrop").on("change", function(e) { 
    var gender = $(this).val(); 

    formTable.column(2).search(gender).draw(); 
}); 

기지로 DataTables의 예를 사용 : http://jsfiddle.net/PauloSegundo/g15xakh5/

0

당신은 아래에 시도 할 수 있습니다 :

function fnResetAllFilters() { 
 
    var oSettings = oTable.fnSettings(); 
 
    for (iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) { 
 
    oSettings.aoPreSearchCols[iCol].sSearch = ''; 
 
    } 
 
    oTable.fnDraw(); 
 
}

모든 필터와 글로벌 필터를 제거하려면 아래 링크를 참조하십시오 : 당신은에서 옵션을 모두 사용할 수 있습니다 https://datatables.net/plug-ins/api/fnFilterClear

0

시도 이런 식으로 :

var table = $('#tableHere').DataTable().destroy(); 
 
table.state.clear();

관련 문제