Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Czy da się optymalniej
Forum PHP.pl > Forum > Przedszkole
RollDev
Witam,

W JS nie jestem spacjalnie dobry, ale moje rozwiązania działają.
Mam chechboxa od zaznaczania wszystkich innych chechboxów.
Jest to "ładny" chceckbox, dlatego muszę dodawać/usuwać klasę jego rodzica. Mój kod wygląda tak i mam pytanie, czy da się to jakoś optymalniej zrobić?
Może jest jakaś dobra praktyka do takich rozwiązań?
  1. function checkAll(e){
  2. if($(e).val() == 0){
  3. $(e).val(1);
  4. $(":input[id^='arts_']").each(function() {
  5. $(this).val(1);
  6. $(this).parent().addClass('checked');
  7. });
  8. }else {
  9. $(e).val(0);
  10. $(":input[id^='arts_']").each(function() {
  11. $(this).val(0);
  12. $(this).parent().removeClass('checked');
  13. });
  14. }
  15. }
Lion
Jeśli lista checkboxów jest stała to możesz ją sobie zapamiętać aby kolejnym razem nie przeszukiwać drzewa DOM.
RollDev
No tak, nie pomyślałem. Coś jeszcze zrobić, aby to było "ładniejsze" ?
trueblue
  1. function checkAll(e){
  2. var newVal=$(e).val()^1;
  3. $(e).val(newVal);
  4. $(":input[id^='arts_']").val(newVal).parent().toggleClass('checked');
  5. }


Do ładnych checkboxów nie potrzebujesz skryptów. https://codepen.io/CreativeJuiz/pen/BiHzp (checkbox label hack).
RollDev
Cytat(trueblue @ 8.07.2016, 16:30:08 ) *
  1. function checkAll(e){
  2. var newVal=$(e).val()^1;
  3. $(e).val(newVal);
  4. $(":input[id^='arts_']").val(newVal).parent().toggleClass('checked');
  5. }


Do ładnych checkboxów nie potrzebujesz skryptów. https://codepen.io/CreativeJuiz/pen/BiHzp (checkbox label hack).


@trueblue Dobra robota! Doceniam, że pomogłeś mi już kilka razy! Dzięki!
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-2025 Invision Power Services, Inc.