Autor | Zpráva | ||
---|---|---|---|
ondra_85 Profil |
#1 · Zasláno: 12. 3. 2008, 15:36:15
<input type="checkbox" name="okynko[1]"> <input type="checkbox" name="okynko[2]"> <input type="checkbox" name="okynko[3]"> ... <input type="button" value="Vyplnit" onclick="???"> Dodneška jsem s javascriptem nepracoval a potřebuju nutně pomoc. Mám několik checkboxů v poli a potřebuju je zaškrtnout kliknutím na tlačítko. Co mám napsat do "onclick"? Díky mockrát, Ondra |
||
Nox Profil |
#2 · Zasláno: 12. 3. 2008, 15:55:05
Tákže předně doplň idčka, můžou být stejný jako namy...a pak jedna z možností:
do onclicku...shrnul bych to do funkce, třeba CheckniVse() a v JS pak function CheckniVse(){ for(a=1;a<=3;a++){ document.getElementById("okynko["+a+"]").checked="checked"; } } |
||
los Profil * |
#3 · Zasláno: 12. 3. 2008, 16:04:25
Alebo bez dopĺňania id:
onclick="selectAll(this.form)" A v JavaScripte nejako takto: function selectAll(form) { for (var i = 0, checkbox; checkbox = form["okynko[" + i + "]"]; ++i) checkbox.checked = true; } |
||
ondra_85 Profil |
#4 · Zasláno: 12. 3. 2008, 16:27:23
Díky moc za pomoc. Budu se muset ten javascript konečně naučit :-)
|
||
Nox Profil |
#5 · Zasláno: 12. 3. 2008, 19:16:08
los
To vypadá kvalitněji:) |
||
Časová prodleva: 18 dní
|
|||
HGD Profil |
Navázáno na téma „zaškrtnutí všech“.
Tak jsem to zkoušel nacpat do svího scriptu, a zaboha se mi to nepohne :( <script language="JavaScript" type="text/javascript"> function selectAll(form){ for (var i=0, checkbox; checkbox = form["itemId["+i+"]"]; ++i) checkbox.checked = true; } </script> <input type="checkbox" name="itemId" value="2" onClick="selectAll(this.form)"> a pak v cyklu: <input type="checkbox" name="itemId['.$data['id'].']" value="'.$data['id'].'"> |
||
los Profil * |
#7 · Zasláno: 30. 3. 2008, 19:49:44
Ten skript prechádza elementy s menom itemId[0]..itemId[n], pričom sa zastaví pri prvom itemId[i], ktoré nie je definované. Takže ak nejaký index chýba, tak to ďalej nepokračuje.
Môžeš to upraviť napr. takto (netestované): function selectAll(form) { for (var i = 0; i < form.elements.length; ++i) if (form.elements[i].type == "checkbox" && form.elements[i].name.substr(0, 7) == "itemId[") form.elements[i].checked = true; } |
||
HGD Profil |
#8 · Zasláno: 30. 3. 2008, 22:55:18
zejtra zkusim, zatim dík ;)
|
||
Str4wberry Profil |
#9 · Zasláno: 31. 3. 2008, 16:35:09 · Upravil/a: Str4wberry
Odpovídám HGD:
Kdysi dávno jsem to řešil takto: function selectAll(action, id) { inputs = document.getElementById(id).getElementsByTagName("input"); for (var i = 0; i < inputs.length; ++i) { inputs[i].checked = (action == 1)? true:false; } } |
||
peta Profil |
#10 · Zasláno: 31. 3. 2008, 18:55:48
HGD
"akorát newim co v tej knize mam hledat ?" Uz jsem to psal, slovo / funkci selInvert. Ta funguje podobne, jeno oznacene odznaci a naopak. Funkce je prave skryta, protoze script, ktery ji vyuziva je pristupny jen pro admina (a tam jsem to smazal, myslim) |
||
HGD Profil |
#11 · Zasláno: 31. 3. 2008, 19:54:39
Když bude action rovna jedné
A čim mam nstavit aby byla 1 ? |
||
Str4wberry Profil |
#12 · Zasláno: 31. 3. 2008, 20:17:36
Reakce na HGD:
Zkus na to přijít sám. Podívej se na volání a parametry té funkce, potom by Ti to mělo dojít. |
||
HGD Profil |
#13 · Zasláno: 31. 3. 2008, 20:26:07
no když to mam takle:
<input type="checkbox" name="itemId" value="2" onClick="selectAll(action, vypis)"> tak by tam asi mělo bejt vybrání tohodletoho checkboxu, ale jak ? já už sem z toho neštastnej :'( |
||
Str4wberry Profil |
#14 · Zasláno: 31. 3. 2008, 20:47:47 · Upravil/a: Str4wberry
Odpovídám HGD:
onClick="selectAll(1, 'id obalu')" |
||
HGD Profil |
#15 · Zasláno: 31. 3. 2008, 21:37:17
this.checked místo "1" a jede to :)
Já to tam měl, ale neměl sem tam apostrofy, mockrát díky ;) |
||
1ight Profil |
Dobrý den řeším jeden a ten samý problém jen trošku jinam mam neutralní checkbox který zaškrtnu a tím zaškrtnu všechny nebo odškrtnu a odškrtnu všechny tento skript funguje jen nevim jak do nej přidelat to aby fungovalo name="Check[]"
Ja do javascriptu moc nevidím i když je to podobný, zkoušel jsem tam pedelavat to field[i].name na field[i].name[] nebo field[i].name[i] a nebehá, kamarad do js taky nevidí jestli by se tu našel nekdo ochotnej děkuji, jinak to funguje skvěle tak to mužete použít. function checkAll(field) { if (field.CheckAll.checked == true) { for (i = 0; i < field.length; i++) { if (field[i].name == "Check") { field[i].checked = true; } } } else { for (i = 0; i < field.length; i++) { if (field[i].name == "Check") { field[i].checked = false; } } } } <input type="checkbox" class="mailcheckbox" name="Check[]" id="Check" value="' . $val->msgno . '"> |
||
los Profil * |
#17 · Zasláno: 1. 4. 2008, 21:26:22
function checkAll(el) { for (var i = 0, els = document.getElementsByName("Check[]"); els[i]; ++i) els[i].checked = el.checked; } Dúfam, že nenastavuješ viacerým prvkom rovnaký identifikátor id=Check, lebo na prvý pohľad by sa mohlo zdať, že áno. |
||
1ight Profil |
#18 · Zasláno: 1. 4. 2008, 23:33:25
LOS:
Supr díky moc pomohl jsi mi tím příkladem co jsi sem poslal.... už to běhá jak ma vzal jsem si příklad s toho co jsi sem poslal z toho kodu == "Check") na == "Check[]") a běhá to mockrát fakt díky. Ono jak neznam ten js tak tam v něm bloudím jak opilej :) takhle to běhá uplně supr .. PS: v tom kodu co jsi poslal nebo upravil ono to jen odoznačuje položky... neumí to udělat inverz označovaní všech položek. Tím mojim to děla oboje jen doufam že to bude fungoval ve všech prohlížečích.. Fakt díky za ty zavorky a nakopnutí function checkAll(field) { if (field.CheckAll.checked == true) { for (i = 0; i < field.length; i++) { if (field[i].name == "Check[]") { field[i].checked = true; } } } else { for (i = 0; i < field.length; i++) { if (field[i].name == "Check[]") { field[i].checked = false; } } } } |
||
los Profil * |
#19 · Zasláno: 1. 4. 2008, 23:42:08
V tom, čo som poslal naposledy, bol prvý argument checkbox, nie formulár, t.j. v HTML by malo byť onclick="checkAll(this)".
Tvoj kód sa dá ešte zjednodušiť: function checkAll(field) { for (i = 0; i < field.length; i++) if (field[i].name == "Check[]") field[i].checked = field.CheckAll.checked; } |
||
Leo Profil |
#20 · Zasláno: 2. 4. 2008, 00:23:23
Pripadne getElementsByName? Leo
|
||
Časová prodleva: 16 let
|
0