白痴的js控制disabled问题.
各位大神,我想在这个多选里实现一个如果不选BP JEPS,就不能选BP JEPS Avec un UCC 或者BP JEPS Avec un US.目前多选的代码是这样,请问js里的ChangeStatut()要咋写呢?
for($i=0;$i<count($_post));$i++){
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPS\" onClick=\"ChangeStatut()\">BP JEPS<br><br>";
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPSucc\" disabled >BP JEPS Avec un UCC<br><br>";
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPScs\" disabled >BP JEPS Avec un CS<br><br>";
}
**************************************************************
我写了好几个都不对.主要是弄不好那个for,请问???处要如何写啊,谢谢各位了:
function ChangeStatut() {
if(???.checked == true) {???.validation.disabled = false }
if(???.checked == false) {???.validation.disabled = true }
}
------------------------------------
PS:在转交页后,需要这样写$diplome=$_POST[$i."_diplome"];才能得到参数的.
------解决方案--------------------可以这样写
<script>
function ChangeStatut(e) {
var tags = document.getElementsByName(e.name);
for(var i=1; i<tags.length; i++) tags[i].disabled = ! e.checked;
}
</script>
<?php
for($i=0;$i<4;$i++){
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPS\" onClick=\"ChangeStatut(this)\">BP JEPS<br><br>";
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPSucc\" disabled >BP JEPS Avec un UCC<br><br>";
echo " <input type=\"checkbox\" name=\"$i.diplome[]\" value=\"BPJEPScs\" disabled >BP JEPS Avec un CS<br><br>";
}