andrisp Posted January 18, 2006 Report Share Posted January 18, 2006 Man ir forma, kurā ģenerējās daudzi <input type="checkbox" name="IDs[]" /> Ir arī viens galvenais checkbox, kuru iečeksējot, iečeksējas visi checkboxi. Attiecīgi arī atčeksējot to atčeksējas visi. Problēma ir tāda, ka nemāku no javascript piekļūt šiem IDs[] elementiem. Palīdzēsiet ? paldies Link to comment Share on other sites More sharing options...
[Ya] Posted January 18, 2006 Report Share Posted January 18, 2006 (edited) <script> checked=false; function checkall() { x=1; while(document.getElementById('ID['+x+']')) { if(checked==false) { document.getElementById('ID['+x+']').checked=true; } else { document.getElementById('ID['+x+']').checked=false; } x++; } if(checked==false) { checked=true; } else { checked=false; } } </script> <a href='#' onclick='checkall()'>spied</a><br /> <input type='checkbox' name='ID[1]' id='ID[1]' value='1' /><br /> <input type='checkbox' name='ID[2]' id='ID[2]' value='1' /><br /> <input type='checkbox' name='ID[3]' id='ID[3]' value='1' /><br /> <input type='checkbox' name='ID[4]' id='ID[4]' value='1' /><br /> <input type='checkbox' name='ID[5]' id='ID[5]' value='1' /><br /> tas ir ar parastu linku, bet ja ar checkboxu tad <script> function checkall() { x=1; checked=document.getElementById('checks').checked; while(document.getElementById('ID['+x+']')) { if(checked==true) { document.getElementById('ID['+x+']').checked=true; } else { document.getElementById('ID['+x+']').checked=false; } x++; } } </script> <input type='checkbox' id='checks' onclick='checkall()' value='1' /><br /> <input type='checkbox' name='ID[1]' id='ID[1]' value='1' /><br /> <input type='checkbox' name='ID[2]' id='ID[2]' value='1' /><br /> <input type='checkbox' name='ID[3]' id='ID[3]' value='1' /><br /> <input type='checkbox' name='ID[4]' id='ID[4]' value='1' /><br /> <input type='checkbox' name='ID[5]' id='ID[5]' value='1' /><br /> Edited January 18, 2006 by [Ya] Link to comment Share on other sites More sharing options...
andrisp Posted January 18, 2006 Author Report Share Posted January 18, 2006 Es, protams, daudz nesaprotu no Javascript, bet tavos piemēros man šķiet aizies mūžīgais loop, kā arī gļukos, ja ID nebūs sākot no 1, kā arī ja ID būs dažādi nesecīgi skaitļi. Link to comment Share on other sites More sharing options...
[Ya] Posted January 18, 2006 Report Share Posted January 18, 2006 Es, protams, daudz nesaprotu no Javascript, bet tavos piemēros man šķiet aizies mūžīgais loop, kā arī gļukos, ja ID nebūs sākot no 1, kā arī ja ID būs dažādi nesecīgi skaitļi. pirmkārt, ja secība nebūs no 1, tad lai izdarītu to ko vēlies tad tev ir jātaisa javaskriptā masīvs, kur tiks saglabāti nummuri, kādu čekboksu ID ir, tā pat arī ar iztrūkstošiem, bet cikls izpildās kamēr eksistē elements, tiko kāds izkrīt tā apstājas ... ja skaitļi tev ir nesecīgi, tad taisi js masīvu kur tie numuri ir iekšā un tad lieto javaskriptu šādu <script> function checkall() { checked=document.getElementById('checks').checked; for (x in checkarray) { if(checked==true) { document.getElementById('ID['+checkarray[x]+']').checked=true; } else { document.getElementById('ID['+checkarray[x]+']').checked=false; } } } </script> <input type='checkbox' id='checks' onclick='checkall()' value='1' /><br /> <input type='checkbox' name='ID[1]' id='ID[11]' value='1' /><br /> <input type='checkbox' name='ID[2]' id='ID[22]' value='1' /><br /> <input type='checkbox' name='ID[3]' id='ID[33]' value='1' /><br /> <input type='checkbox' name='ID[4]' id='ID[44]' value='1' /><br /> <input type='checkbox' name='ID[5]' id='ID[55]' value='1' /><br /> <script> // šeit PHP kods kas uzģenerē tos ciparus apmēram šitā checkarray=new Array('11','22','33','44','55'); // vai šitā //checkarray[1]=11; //checkarray[2]=22; //checkarray[3]=33; //checkarray[4]=44; //checkarray[5]=55; </script> Link to comment Share on other sites More sharing options...
andrisp Posted January 18, 2006 Author Report Share Posted January 18, 2006 aha, paldies, es jau pats sāku šitā taisīt :) Link to comment Share on other sites More sharing options...
bubu Posted January 18, 2006 Report Share Posted January 18, 2006 Nesaprotu.. Kam tur tos [1]/[2]/... vajag. Var taču vienkārši bez: function checkall() { var checked = document.getElementById("checks").checked; var ids = document.getElementsByName("ID[]"); for (var i=0, len=ids.length; i<len; ++i) { ids[i].checked = checked; } } <input type='checkbox' id='checks' onclick='checkall()' value='check me' /><br /> <input type='checkbox' name='ID[]' value='1' /><br /> <input type='checkbox' name='ID[]' value='2' /><br /> <input type='checkbox' name='ID[]' value='3' /><br /> <input type='checkbox' name='ID[]' value='4' /><br /> <input type='checkbox' name='ID[]' value='5' /><br /> Vai arī ne tā kautko sapratu? Link to comment Share on other sites More sharing options...
andrisp Posted January 19, 2006 Author Report Share Posted January 19, 2006 Es itkā šitā mēģināju, bet man nekā nesanāca, bet tavs piemērs strādā gan, paldies :) Link to comment Share on other sites More sharing options...
Recommended Posts