Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zaznacz odznacz wszystkie
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
john_doe
Witajcie,

za pomoca checkboxa nie mam problemu zeby zaznaczyc pozostałe wszystkie checkboxy ale za pomocą jakiejś grafiki nie za bardzo

taki mam kod:

  1. function zaznacz(source, form) {
  2. var checkboxy = document.getElementById(form).getElementsByTagName('input');
  3. for(i = 0; i < checkboxy.length; i++)
  4. if(checkboxy[i].type == 'checkbox')
  5. checkboxy[i].checked = (source.checked) ? true : false;
  6. }
  7.  
  8. <form action = "delInbox.php" method = "POST" id="checkboxy">
  9.  
  10. Check all
  11. <input type="checkbox" onClick="zaznacz(this, 'checkboxy')" /><br />
  12. <input type="image" src="check-all.gif" title="Zaznacz / Odznacz" onClick="zaznacz(this, 'checkboxy')"/>
  13.  
  14.  
  15.  
  16. <br />
  17.  
  18. <input type="checkbox" />
  19. <br />
  20. <input type="checkbox" />
  21.  
  22. </form>


oczywiście nie dziala. Co robię nie tak

dzieki pozdrawiam
emacieka
  1. var checkboxs_checked = false;
  2.  
  3. function zaznacz (form)
  4. {
  5. var checkboxy = document.getElementById(form).getElementsByTagName('input');
  6. for(i = 0; i < checkboxy.length; i++)
  7. {
  8. if (checkboxy[i].type == 'checkbox')
  9. {
  10. checkboxy[i].checked = checkboxs_checked ? false : true;
  11. }
  12. }
  13.  
  14. checkboxs_checked = checkboxs_checked ? false : true;
  15. }
  16.  
  17. <form action="delInbox.php" method="POST" id="checkboxy">
  18.  
  19. Check all
  20. <input type="checkbox" onClick="zaznacz('checkboxy')" /><br />
  21. <input type="image" src="check-all.gif" title="Zaznacz / Odznacz" onClick="zaznacz('checkboxy'); return false;" />
  22.  
  23.  
  24.  
  25. <br />
  26.  
  27. <input type="checkbox" />
  28. <br />
  29. <input type="checkbox" />
  30.  
  31. </form>
vanvar
Hej, podbije trochę temat, bo w sumie mam podobny problem. W moim przypadku mam tą samą rodzinę checkboxów, które należą do różnych kategorii. Przykładowo:
Kod
<input id="rodzina" name="postuj" value="6" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Rodzina/a>
<input id="rodzina" name="postuj" value="2" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Rodzina</a>
<input id="dzieci" name="postuj" value="8" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Dzieci</a>
<input id="dzieci" name="postuj" value="21" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Dzieci</a>
<input id="dzieci" name="postuj" value="24" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Dzieci</a>
<input id="dzieci" name="postuj" value="22" type="checkbox"> <a onClick=\"zaznacz('checkboxy'); return false;\">Dzieci</a>


Chciałbym, żeby po kliknnięciu na np. Rodzina zaznaczały się pola z kategori Rodzina. Chyba wiadomo o co chodzi winksmiley.jpg
Z góry dzięki za pomoc, bo w JS jestem zielony smile.gif
emacieka
Pisane na szybko, moze ktos to ladniej ropisze Rkingsmiley.png
Kod
<script>
var checkboxs_checked = false;

function zaznacz (form,checkbox)
{
    var checkboxy = document.getElementById(form).getElementsByTagName('input');


    for( i = 0; i < checkboxy.length; i++ )
    {
        if (checkboxy[i].type == 'checkbox' && ( !checkbox || checkboxy[i].id == checkbox.id ) )
        {
            checkboxy[i].checked = checkboxy[i].checked ? false : true;
        }
    }

    checkbox.checked = checkbox.checked ? false : true;
}
</script>

<form action="delInbox.php" method="POST" id="checkboxy">

Check all
<input type="checkbox" onclick="zaznacz('checkboxy',false)" /><br />
<input type="image" src="check-all.gif" title="Zaznacz / Odznacz" onclick="zaznacz('checkboxy',false);" />



<br />

<label><input id="rodzina" name="postuj" value="6" type="checkbox" onclick="zaznacz('checkboxy', this)">Rodzina</label>
<label><input id="rodzina" name="postuj" value="2" type="checkbox" onclick="zaznacz('checkboxy', this)">Rodzina</label>
<label><input id="dzieci" name="postuj" value="8" type="checkbox" onclick="zaznacz('checkboxy', this)">Dzieci</label>
<label><input id="dzieci" name="postuj" value="21" type="checkbox" onclick="zaznacz('checkboxy', this)">Dzieci</label>
<label><input id="dzieci" name="postuj" value="24" type="checkbox" onclick="zaznacz('checkboxy', this)">Dzieci</label>
<label><input id="dzieci" name="postuj" value="22" type="checkbox" onclick="zaznacz('checkboxy', this)">Dzieci</label>

</form>
vanvar
Działa, ale zależało by mi na tym, żeby zaznaczanie odbywało się właśnie poprzez klik linka - co umożliwiło by szybkie zaznaczenia 20 checkboxow, a potem odznaczenie jednego, bez odznaczenia pozostalych smile.gif
emacieka
Kod
<script>
var checkboxs_checked = false;

function zaznacz (form,id)
{
    var checkboxy = document.getElementById(form).getElementsByTagName('input');


    for( i = 0; i < checkboxy.length; i++ )
    {
        if (checkboxy[i].type == 'checkbox' )
        {
            if ( ! id )
            {
                checkboxy[i].checked = checkboxs_checked ? false : true;
            }
            else if ( checkboxy[i].id == id )
            {
                checkboxy[i].checked = checkboxy[i].checked ? false : true;
            }
            
        }
    }

    if ( ! id )
    {
        checkboxs_checked = checkboxs_checked ? false : true;
    }
}
</script>

<form action="delInbox.php" method="POST" id="checkboxy">

Check all
<input type="checkbox" onclick="zaznacz('checkboxy')" /><br />
<input type="image" src="check-all.gif" title="Zaznacz / Odznacz" onclick="zaznacz('checkboxy');" />



<br />

<input id="rodzina" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'rodzina')">Rodzina</span>
<input id="rodzina" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'rodzina')">Rodzina</span>
<input id="dzieci" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'dzieci')">Dzieci</span>
<input id="dzieci" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'dzieci')">Dzieci</span>
<input id="dzieci" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'dzieci')">Dzieci</span>
<input id="dzieci" name="postuj" value="6" type="checkbox"><span onclick="zaznacz('checkboxy', 'dzieci')">Dzieci</span>

</form>
vanvar
Dzęki kolego smile.gif
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.