2017-08-03 11 views
0

我正在創建過濾器重置按鈕。當我單擊按鈕時,所有值都按預期清除/重置,但不會觸發事件來重置視圖以顯示所有當前結果。我在每個列的過濾器字段上都有事件監聽器來應用所述過濾器。嘗試重置過濾器。單擊該按鈕清除值,但不會觸發事件

$('#clearFilters').on('click', function() { 
    console.log("start clear"); 
    $('#columnsearch_1').val('').change();  
    $('#columnsearch_2').val('').trigger("change");    
    $('#columnsearch_3 option').prop('selected', function() { 
    return this.defaultSelected; 
    }); 
    $('#columnsearch_3').trigger("change");  
    $('#columnsearch_4 input[type=checkbox]:checked').removeAttr('checked').trigger("click"); 
    }); 

不確定,如果我使用觸發器/更改錯誤或誤解感到它的使用情況,但據我所知的東西看起來是正確的。

+0

那個特殊的回報並不會阻止回調的流程。該返回隻影響.prop()的回調 我已經將我的解決方案發布到了我的問題上。 – BadJo0Jo0

+0

我現在看到了這個錯字。 – BadJo0Jo0

回答

0

只動return的底部:

$('#clearFilters').on('click', function() { 
    console.log("start clear"); 
    $('#columnsearch_1').val('').change();  
    $('#columnsearch_2').val('').trigger("change");    
    $('#columnsearch_3 option').prop('selected', function() { 
    $('#columnsearch_3').trigger("change");  
    $('#columnsearch_4 input[type=checkbox]:checked').removeAttr('checked').trigger("click"); 
    return this.defaultSelected; 
    }); 
}); 

它不會讓後執行代碼。

+0

search_3上的內部觸發器更改可能需要位於prop部分之外。在執行的時候,這個值還沒有改變。也不知道爲什麼search_4部分也在那裏。 – Taplar

0

我最終取出了事件監聽器的過濾器邏輯,這些事件監聽器有自己的方法,並在重置字段中的值後調用這些方法。

$('#clearFilters').on('click', function() { 

     $('#columnsearch_1').val('');       
     $('#columnsearch_2').val(''); 
     $('#columnsearch_3 option').prop('selected', function() { 
      return this.defaultSelected;    
     }); 
     $('#columnsearch_4 input[type=checkbox]:checked').removeAttr('checked');    
     $('#columnsearch_5').val('');    
     $('#columnsearch_6 option').prop('selected', function() { 
      return this.defaultSelected;     
     }); 
     $('#columnsearch_7 option').prop('selected', function() { 
      return this.defaultSelected;     
     }); 
     $('#columnsearch_8 option').prop('selected', function() { 
      return this.defaultSelected; 
     }); 
     $('#columnsearch_9').val(''); 
     $('##columnsearch_10 input[type=checkbox]:checked').removeAttr('checked'); 


     Column1Filter(table, ''); 
     Column2Filter(table, ''); 
     Column3Filter(table, ''); 
     Column4Filter(table, ''); 
     Column5Filter(table, ''); 
     Column6Filter(table, ''); 
     Column7Filter(table, ''); 
     Column8Filter(table, ''); 
     Column9Filter(table, ''); 
     Column10Filter(table, ''); 
    }); 

按照預期行事。

相關問題