Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zaznaczanie wielu checkboxów
Forum PHP.pl > Forum > Przedszkole
krzesik
witam,

mam kod który zaznacza mi checkboxa o id=2
onchange="document.getElementById('2').checked = this.checked"

chciałbym aby zaznaczał mi kilka checków np 2,3,4
jak to zrobić?

robiłem jak poniżej ale nie działa....
onchange="document.getElementById('2&3&4').checked = this.checked"
tzm
uzyj radioboxow, zdadza egzamin.
salfunglandyare
Najpierw propozycja rozwiązania:
Niestety, ale w taki sposób to nie zadziała. W getElementById przyjmuje jeden argument - identyfikator elementu DOM: https://developer.mozilla.org/pl/docs/Web/A.../getElementById onchange, jak i pozostałe eventy działają na zasadzie funkcji JS w kontekście danego elementu (this określa w JS element DOM), możesz użyć ustawienia kolejnych checkboxów po średniku:
  1. <input type="checkbox" onchange="document.getElementById(2).checked = document.getElementById(3).checked = document.getElementById(5).checked = this.checked">


lub nawet pętli:
  1. <input type="checkbox" onchange="var id = [2,3,5];for(var x = 0; x<id.length; x++){document.getElementById(id[x]).checked = this.checked; }">


Zobacz działanie na jsfiddle: https://jsfiddle.net/6wqq0rmz/

A teraz kilka słów krytyki:
To powyżej, mimo że działa, to nie jest dobry sposób na budowanie szablonu strony. Może robisz to dla siebie, może dla znajomego, może to tylko testy, ale generalnie staraj się unikać używania skryptów czy stylów inline (czyli w tagu elementu). Gwarantuję Ci, że gdy po pewnym czasie będziesz chciał coś zmienić, będziesz wertował pliki w poszukiwaniu kodu, który coś tam robił. Uwierz mi, że znacznie wygodniej jest umieścić logikę działania skryptu w osobnym pliku dołączanym osobno lub osobnej sekcji, które implementują potrzebne funkcje
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.