Jump to content
php.lv forumi

Recommended Posts

Posted

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

Posted (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 by [Ya]
Posted

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.

Posted
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>

Posted

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?

×
×
  • Create New...