Jump to content
php.lv forumi

Piekļūšana checkbox'iem no Javascript


andrisp

Recommended Posts

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

<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 by [Ya]
Link to comment
Share on other sites

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

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

×
×
  • Create New...