Mam rozwijany selektor z wartościami od 1-4. W zależności od wyboru kolejne dane wejściowe w formularzu są ukrywane, a wymagane sprawdzanie poprawności jest usuwane z każdego z nich. np. Jeśli wybrano 2, to wyświetlane są wejścia 1-2 i wymagane jest zatwierdzenie, gdy 3-4 są ukryte, a sprawdzanie poprawności usunięte.Sprawdzanie poprawności jquery: Dodawanie/usuwanie reguł Dynamicznie w oparciu o wybór listy rozwijanej
$("#dropdownSelector").change(function() {
inputtohide = $(this).val();
$('input[id*=conviction]').slice(0, inputtohide).show().rules("add", {required: "#convictions_0:checked" });
$('input[id*=conviction]').slice(inputtohide, 4).hide().rules("remove", {required: "#convictions_0:checked" });
$("#thisform").validate();
});
Działa to dobrze, jednak (zgodnie z dokumentacją dla państw wtyczki walidacja) zatwierdzanie dodaje się tylko do elementu pierwszy zwrócone.
rozumiem z innych stanowisk, że następujący kod powinien dodać walidację do każdego wejścia: -
$("#thisform").validate();
$("input[id*=conviction]").each(function() {
$(this).rules("add", {required: "#convictions_0:checked" });
});
Moje pytanie to jak mogę połączyć dwa fragmenty kodu? Każda pomoc bardzo ceniona, dzięki.
Dzięki @FreekOne, to była świetna pomoc. Dodał zasady poprawnie, ale show/hide przestał działać poprawnie. Zmieniłem go trochę i teraz działa - dziękuję: - 'code' $ ('input [id * = conviction]') slice (0, inputtohide) .show(). Each (function() {$ (this) .rules ("dodaj", {wymagane: "# convictions_0: checked"});}); $ ('input [id * = conviction]'). slice (inputtohide, 4) .hide(). each (function() {$ (this) .rules ("remove", {required: "# convictions_0: checked" });}); 'kod' – naturelab
@naturelab Nie jestem pewien, dlaczego' show'/'hide' przestałby działać, ponieważ kod jest poprawny, ale cieszę się, że mogłem pomóc! –