Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: checkboxem wszystkie inne checkboxy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
john_doe
Witajcie,
wyswietlam sobie checkboxy

  1. <?php
  2. while ($row = MYSQL_FETCH_ARRAY( $execute, MYSQL_ASSOC ))
  3. {
  4.  print '<tr>
  5.  <td>'.$row[id_inbox].'</td>
  6.  <td><a href="mailto:'.$row[email].'">'.$row[email].'</a></td>
  7.  <td>'.$row[content].'</td><td> '.$row[incomingDate].'</td>
  8.  
  9.  <td align="center">
  10.  <input type="checkbox" name="id[]" value="'.$row[id_inbox].'" />
  11.  </td></tr>
  12. ';
  13. }
  14.  print '<tr><td colspan="5" align="right"><input type="submit" value="Odbierz" />';
  15. ?>


jak zrobić żeby jakimś np innym checkboxem lub buttonem zaznaczyc wszystkie checkboxy?

pozdrawiam!
Sokal
Ja bym to zrobił w JS...
Sedziwoj
To jest po stronie klienta, czyli nie to podforum.

A odpowiedź jest prosta javascript.
Coś co się przyda:
W3C DOM...
MiFlo
każdemu checkboxwi nadajesz id od 1 do iluś tam oprócz checkboxa który je będzie zaznaczał później po kliknięciu wykonujesz funkcje w js która ma pętle i po kolei jedzie i nadaje elementom checked=true
Sedziwoj
raczej:
checked="checked"

a realizacji jest mnóstwo... bo od id, po drzewie itd.
john_doe
DOM jest git tylko mam problem

checkboxy wyswietlan

  1. <?php
  2. <input type="checkbox" name="id[]" value="'.$row[id_inbox].'" />
  3. ?>


majac funkcje
  1. <?php
  2. function getElements()
  3. {
  4. var x=document.getElementsByName("name_checkboxa");
  5. alert(x.length);
  6. }
  7. ?>


nie wiem jak zrobic guzik co wlaczy wszystkie czeki

  1. <?php
  2. <input type="button" onclick="getElements()" value="How many elements named 'myInput'?" />
  3. ?>
Sedziwoj
jak chcesz "document.getElementsByName("cos");" to w html'u:
  1. <input type="checkbox" name="cos" value="'.$row[id_inbox].'" />

więc za można name="id[]" ale wtedy tylko te checkbox'y mogą mieć takie, inne muszą mieć inną wartość atrybutu name.
Można tak jak MiFlo napisała nadajesz konkretne nazwy name="id[2]" czy coś w tym stylu, a potem:
  1. <div onclick="getElements()">coś co klikamy</div>
  2. ....
  3. function getElements()
  4. {
  5. var pocz = 1;
  6. var koniec = 4;
  7. for(var i=pocz; i<=koniec;i++)
  8. var x=document.getElementById("id["+i+"]");
  9. x.setAtribute("checked","checked");
  10. }
strife
Przenoszę do: Po stronie przeglądarki -> JavaScript.
john_doe
przepraszam w pospiechu wklilem nie ten kod

oto funkcja w js
  1. <?php
  2. <script>
  3. function zaznacz(source, form) {
  4.  var checkboxy = document.getElementById(form).getElementsByTagName('input');
  5.  for(= 0; i < checkboxy.length; i++)
  6. if(checkboxy[i].type == 'checkbox')
  7.  checkboxy[i].checked = (source.checked) ? true : false;
  8. }
  9. </script>
  10. ?>



teraz skrypt z checkami

  1. <?php
  2. $query = " SELECT * FROM inbox WHERE flaga = $_GET[id_inbox] ORDER BY incomingDate DE
    SC"
    ;
  3. $execute = mysql_query($query);
  4.  
  5. if ($_GET['id_inbox'] == 0)
  6. {
  7. print '<form action = "odbierz.php" method = "POST" id = "checkboxy" >';
  8. print '<table class="tabela" border="1" align="center">';
  9. echo '<caption>Skrzynka odbiorcza - NOWE WIADOMOŚCI</caption>';
  10. echo '<tr>
  11. <th scope="col">NR</th>
  12. <th scope="col">Od</th>
  13. <th scope="col">Treść</th>
  14. <th scope="col">Odebrano</th>
  15. <th scope="col">Odbierz</th>
  16. </tr><tr><td colspan="5"><input type="checkbox" onclick="zaznacz(this, 'checkboxy')" /></td></tr>';
  17.  
  18. while ($row = MYSQL_FETCH_ARRAY( $execute, MYSQL_ASSOC ))
  19. {
  20.  print '
  21.  <tr>
  22.  <td>'.$row[id_inbox].'</td>
  23.  <td><a href="mailto:'.$row[email].'">'.$row[email].'</a></td>
  24.  <td>'.$row[content].'</td><td> '.$row[incomingDate].'</td>
  25.  
  26.  <td align="center">
  27.  <input type="checkbox" name="id[]" value="'.$row[id_inbox].'" />
  28.  </td></tr>
  29. ';
  30. }
  31.  print '<tr><td colspan="5" align="right">
  32.  
  33. <input type="submit" value="Odbierz" />';
  34.  print '</table>';
  35.  print '</form>';
  36. ?>


nie dziala, moze jakies pomysly. Nie wiem czy nie psuje mi czegos PHP bo jak zapodam tak w czystym HTMLu

  1. <form action="#" id="checkboxy">
  2. <input type="checkbox" onclick="zaznacz(this, 'checkboxy')" /><br /><br />
  3.  
  4. <input type="checkbox" />
  5. <input type="checkbox" />
  6. </form>


to ładnie działa

questionmark.gifquestionmark.gif
Sedziwoj
Zwaliduj wygenerowany przez PHP dokument, może coś źle się tworzy.
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.