Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Aktywacja przycisku i przycisku cennika po zaznaczeniu checkboxa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
hejkumkejkum
Mam prośbę o skoryggowanie kodu.

https://codepen.io/drumknott/pen/oNMoWyj

Żeby po naciśnięciu checkboxa aktywował się przycisk Link1 oraz przycisk CENNIK w ramach kontenera ".dk-kontener" ale tylko pierwszego jeśli w pierwszym ten checkbox był kliknięty.

Obecnie działa to tak, że kliknięcie checkboxa wpływa na wszystkie elementy, są dwa kontenery ".dk-kontener", a potrzebuję by były odseparowane. Czyli jak kliknę w pierwszym to żeby tylko w jego ramach aktywowało przycisk, a jak kliknę drugi to w drugim.
nospor
Cytat
Czyli jak kliknę w pierwszym to żeby tylko w jego ramach aktywowało przycisk

No sam sobie odpowiedziales.
Skoro przyciski i checkbox jest w tym samym kontenerze a druga para w innym no to logiczne, ze jak klikasz checkbox to masz pobrac ten kontener w ktorym klinknieto checkbox i potem w tym kontenerze masz znalezc button ktory chcesz.
A nie jak teraz lecisz globalnie po klasie i zadowolony tongue.gif
hejkumkejkum
Tak wiem, tylko ostatni raz z javascript miałem do czynienia kilka lat temu, zapomniałem wszystko bo zajmowałem się inną dziedziną zawodowo. I niby banał a utknąłem smile.gif
Nie wiem jak to poprawnie zapisać, żeby działało jak należy, coś mi tam świta z THIS.

Cytat(nospor @ 19.01.2023, 18:10:59 ) *
A nie jak teraz lecisz globalnie po klasie i zadowolony tongue.gif


Ok, wymęczyłem ohno-smiley.gif . Czy taka postać jest ok? Czy da się to jeszcze ulepszyć?


  1. jQuery(document).ready(function() {
  2. jQuery('.dk-kontener').find('.dk-checkbox').click(function() {
  3.  
  4. if (jQuery(this).is(':checked')) {
  5. // alert ("checked");
  6. jQuery(this).closest('.dk-kontener').find('.dk_buttonnn').removeAttr('disabled');
  7. } else {
  8. // alert ("unchecked");
  9. jQuery(this).closest('.dk-kontener').find('.dk_buttonnn').attr('disabled', 'disabled');
  10. };
  11.  
  12. });
  13. });

viking
  1. $(function() {
  2. $('.dk-kontener').on('click', '.dk-checkbox', e => {
  3. const butt = $(e.delegateTarget).find('.dk_buttonnn')
  4. butt.prop('disabled', !$(e.target).is(':checked'))
  5. })
  6. })
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.