Autor | Zpráva | ||
---|---|---|---|
orava Profil |
#1 · Zasláno: 30. 4. 2008, 15:43:37
mam asi dvadsat checkboxov na mape
a iba styri su povolenene ostatne su disabled chcel som spravit funkciu ze ked kliknem na ten povoleny chcekbox tak sa povolia aj styri okolo neho <script> function cekni(x,y){ document.getElementById(x+1,y).disabled=false; document.getElementById(x-1,,y).disabled=false; document.getElementById(x,y+1).disabled=false; document.getElementById(x,y-1).disabled=false; } </script> HTML <input type="checkbox" name="prvni" value="ano" id="21,20" onClick="cekni(21,20);" > <input type="checkbox" name="prvni" value="ano" id="21,19" onClick="cekni(21,19);" disabled > Ale ked kliknem tak sa nic nestane Neporadite? |
||
Nox Profil |
#2 · Zasláno: 30. 4. 2008, 16:01:08
Oprav to ve stylu:
document.getElementById(x+","+(y+1)).disabled=false; pokud to nepůjde, zkus k proměnným, hlavně závorkám dát ještě .toString(); Navíc u 2. checkboxu máš navíc čárku |
||
orava Profil |
#3 · Zasláno: 30. 4. 2008, 16:07:39
Prvy sposob nefunguje - nic sa nedeje
druhy som nepochopil, mohol by si uviest priklad? |
||
orava Profil |
#4 · Zasláno: 30. 4. 2008, 16:18:48
nefunguje ani toto
<input type="checkbox" name="prvni" value="ano" id="18,17" onClick="document.getElementById(17,17).disabled=false; document.getElementById(18,18).disabled=false; document.getElementById(18,16).disabled=false; document.getElementById(19,17).disabled=false;" > |
||
Nox Profil |
#5 · Zasláno: 30. 4. 2008, 16:29:26
Hlavně pochop, že zadávaný id je řetězec, musí být v uvozovkách
tohle by mělo fungovat...nebo je krpa ještě někde mimo...byl by odkaz? <script> function cekni(x,y){ document.getElementById((x+1)+","+y).disabled=false; document.getElementById((x-1)+","+y).disabled=false; document.getElementById(x+","+(y+1)).disabled=false; document.getElementById(x+","+(y-1)).disabled=false; } </script> |
||
orava Profil |
#6 · Zasláno: 30. 4. 2008, 16:32:13
http://www.4orava.php5.cz/login.php?screen=dobyvat
LOGIN : test HESLO: 147 to posledne co si tu napisal som skusal a nejde to |
||
orava Profil |
#7 · Zasláno: 30. 4. 2008, 16:36:23
ok funguje to
vdaka a nevies ako spravim ze ked odklikne tak sa zase disabled bude? |
||
Nox Profil |
#8 · Zasláno: 30. 4. 2008, 16:48:26
třeba:
(snad to bude fungovat) onclick="cekni(21,20,this.checked)" function cekni(x,y,checked){ if(checked){ zmena=false; } else{ zmena=true; } ...).disabled=zmena; } |
||
orava Profil |
#9 · Zasláno: 30. 4. 2008, 16:56:22 · Upravil/a: orava
skusil som toto ale nic sa nedeje uz nejde ani to co islo pred tim
function cekni(x,y){ if((document.getElementById(x+","+y).checked){ document.getElementById((x+1)+","+y).disabled=true; document.getElementById((x-1)+","+y).disabled=true; document.getElementById(x+","+(y+1)).disabled=true; document.getElementById(x+","+(y-1)).disabled=true; } else { document.getElementById((x+1)+","+y).disabled=false; document.getElementById((x-1)+","+y).disabled=false; document.getElementById(x+","+(y+1)).disabled=false; document.getElementById(x+","+(y-1)).disabled=false; } } |
||
Nox Profil |
#10 · Zasláno: 30. 4. 2008, 17:02:58
na 2. řádku máš o závorku navíc
stáhni si FF plugin Firebug, ten pomůže vychytat takový věci |
||
orava Profil |
#11 · Zasláno: 30. 4. 2008, 18:04:07
Zatial mam toto ale nefunguje to podla mojich predstav
document.getElementById((x+1)+","+y).disabled=false; document.getElementById((x-1)+","+y).disabled=false; document.getElementById(x+","+(y+1)).disabled=false; document.getElementById(x+","+(y-1)).disabled=false; document.getElementById(x+","+y).disabled=!(document.getElementById(x+ ","+y).checked) document.getElementById((x+1)+","+y).disabled=!(document.getElementByI d((x+1)+","+y).checked) document.getElementById((x-1)+","+y).disabled=!(document.getElementByI d((x-1)+","+y).checked) document.getElementById(x+","+(y+1)).disabled=!(document.getElementByI d(x+","+(y+1)).checked) document.getElementById(x+","+(y-1)).disabled=!(document.getElementByI d(x+","+(y-1)).checked) |
||
Nox Profil |
#12 · Zasláno: 30. 4. 2008, 18:05:12
a to co sem psal nefunguje?
|
||
orava Profil |
#13 · Zasláno: 30. 4. 2008, 18:44:08
konecna a fungujuca verzia
function cekni(x,y){ document.getElementById((x+1)+","+y).disabled=false; document.getElementById((x-1)+","+y).disabled=false; document.getElementById(x+","+(y+1)).disabled=false; document.getElementById(x+","+(y-1)).disabled=false; if (!document.getElementById(x+","+y).checked){ document.getElementById((x+1)+","+y).disabled=!(document.getElementById((x+1)+","+y).checked) document.getElementById((x-1)+","+y).disabled=!(document.getElementById((x-1)+","+y).checked) document.getElementById(x+","+(y+1)).disabled=!(document.getElementById((x-1)+","+y).checked) document.getElementById(x+","+(y-1)).disabled=!(document.getElementById((x-1)+","+y).checked) } } |
||
peta Profil |
#14 · Zasláno: 2. 5. 2008, 09:53:21
orava
V prvni rade, id by melo zacinat pismenem, povolene znaky obvykle byvaji AZaz09_ , u JS i jine, bohuzel. Dale pak viz nox, ID je retezec. Cili idealni nazev, treba "i18_21" 18,21 neni ani retezec, ma to tam carku a nezacina ani pismenem. Jeste bys mohl tvrdit, ze v jinem prog. jazyku ti nazev funkce nebo objektu s carkou uvnitr veme. Co se tyce toho scriptu, mozna bych zkusil funkci nebo cyklus. Ale pro 4 radky to asi nema ceny function fce(id) {document.getElementById(id).disabled=!(document.getElementById(id).ch ecked);} fce((x+1)+","+y); fce((x-1)+","+y); fce(x+","+(y+1)); fce(x+","+(y-1)); Pripomina mi to hru 15, takovy pekny script mam z interval.cz http://www.volny.cz/peter.mlich/hry/shuffle2.htm http://www.volny.cz/peter.mlich/hry/hry.htm |
||
Časová prodleva: 16 let
|
0