Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ukrywanie "checkBox'a"
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Cornel
Witam wszystkich serdecznie!
Na stronce wyświetlaną mam listę elementów, które ewentualnie mogę usunąć za pomocą "checkBox'a".
Do tej samej listy mogę dodać elementy za pomocą guzika 'Dodaj element'.
Rząd dla nowego elementu, po kliknięciu guzika 'Dodaj element', uzyskiwany jest poprzez klonowanie (kod w JS):
  1. var newNode = template_tr.cloneNode(true);

Poniższym kodem w JS:
  1. var checkBox_tr = document.getElementById("elements_0_delete_placeholder");
  2. checkBox_tr.style.display = 'none';

ukrywam pole "checkBox'a" wyświetlanego za pomocą kodu:
  1. <tr id="elements_${i}_tr" class="off" >
  2. <td> <%=i%> </td>
  3. <td> <g:checkBox name="elements[${i}].delete_placeholder" id="elements_${i}_delete_placeholder" value="${false}" onclick="toggle(this,'elements_${i}_tr')"/></td>
  4. <!-- i jeszcze inne pola następują niżej -->
  5. </tr>


Wszystko działa pięknie (przy nowych elementach nie wyświetla się "checkBox") poza jednym wyjątkiem:
"checkBox' kasowany jest również w elemencie już istniejącym z (ID 0).
Jakieś pomysły w jaki sposób oszczędzić "checkBox'a" w już istniejącym elemencie?
Pozdrawiam!
wookieb
1) Nie możesz mieć w dokumencie dwóch elementów o tym samym id. Drugi czeckbox musisz przenumerować.
2)
Rozwiązanie na szybko
[JAVASCRIPT] pobierz, plaintext
  1. // nie document.getElementById("elements_0_delete_placeholder");
  2. newNode.getElementById("elements_0_delete_placeholder");
[JAVASCRIPT] pobierz, plaintext


Ale jak zrobisz rozwiązanie tylko na szybko (bez zastosowania sie do pkt 1) to nie przyznawaj się, że mnie znasz nawet z forum.
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.