2015-08-18 19 views
12

chcę mieć przycisk zerowania/Clear dla wszystkich filtrów w użyciu, ale nie mogę dowiedzieć się, co się wystrzelić na kliknij na zdarzenie związane z tego przycisku ... na przykład:Jak zresetować/wyczyścić wszystkie filtry (select2, select, input) w tabeli edytowalnej x?

enter image description here

Co powinienem odpalić i/lub dołączyć & przejść do czego, aby zresetować wszystkie te select2, wybrać i wprowadzić pola i przywrócić wszystkie filtry do pustych wartości?

+3

Czy jesteś w stanie stworzyć jsfiddle? – Jashwant

Odpowiedz

24

Po kliknięciu przycisku wystarczy, że zresetujesz wartość select2.

Zobacz ten sposób programowy, ażeby to https://select2.github.io/examples.html#programmatic

Wszystko, czego potrzebujesz do swojego przycisku, aby wyzerować wszystkie wejścia select2 zamiast 1, jak pokazano w przykładzie.

$('#yourButton').on('click', function() { 
    $('#yourfirstSelect2').val(null).trigger("change"); 
    $('#yourSecondSelect2').val(null).trigger("change"); 
    .... 
}); 

wszelki wypadek używasz 3.5.x wersji, to nie mała zmiana jak widać tutaj http://select2.github.io/select2/#programmatic

$('#yourButton').on('click', function() { 
    $('#yourfirstSelect2').select2("val", ""); 
    $('#yourSecondSelect2').select2("val", ""); 
    .... 
}); 

Aby zresetować inne wartości w X edycji można obserwować tą x-editable resetting fields.

Zawsze jest sposób jQuery wyczyszczenie wszystkiego w formie -

$('#formName')[0].reset(); 
1

spróbuj tego kodu poniżej, aby zresetować wszystko. Znaleziono go na https://vitalets.github.io/x-editable/docs.html#newrecord

<button id="reset-btn" class="btn pull-right">Reset</button> 


<script> 
$('#reset-btn').click(function() { 
$('.myeditable').editable('setValue', null) //clear values 
    .editable('option', 'pk', null)   //clear pk 
    .removeClass('editable-unsaved');  //remove bold css 

$('#save-btn').show(); 
$('#msg').hide();     
}); 
<script> 
1

jak na swoje zdjęcie, zakładam, że wszystkie filtry są generowane dynamicznie. Aby zresetować całe pole, możesz użyć następującego kodu jQuery.

$(document).ready(function() { 
    $('body').on('click','#resetButtonSelector', function() { 
     $("body select").select2("val", ""); 
     $("body input").val(""); 
     $('body select').val("") 
    }); 
}); 

Jeśli masz formę można użyć tego kodu:

$(document).ready(function() { 
    $('body').on('click','#resetButtonSelector', function() { 
     $("body select").select2("val", ""); 
     $('#formId')[0].reset(); 
    }); 
}); 

Oto kilka szczegółów, które mogą pracować dla Ciebie,

$(':input','#formId') 
.not(':button, :submit, :reset, :hidden') 
.val('') 
.removeAttr('checked') 
.removeAttr('selected'); 

Proszę zobaczyć tę wiadomość na: Resetting a multi-stage form with jQuery

-2

najlepszym sposobem jest usunięcie select.

To działa w następujący sposób: $('.select2-search-choice').remove();

Aby usunąć selektor, ja obejrzano nazwę selektora.

6

ten pracował dla mnie

Będzie zresetować wszystkie opcje select2 wybrany gdy formularz jest resetowany was może zainicjować to w przypadku kliknięcia przycisku lub innego zdarzenia, zgodnie z własnymi wymaganiami.

$("#id").val(null).trigger("change");