2017-08-03 69 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, ''); 
    }); 

按照预期行事。

相关问题