Autor | Zpráva | ||
---|---|---|---|
Gogo_v Profil * |
#1 · Zasláno: 14. 11. 2011, 19:21:39
Dobrý den. Úvodem musím řict ze javascript není mojí nejsilnější stránkou. :)
Potřeboval bych pomoc s jednim scriptem ukázka Odkaz Potřebuju zamezit možnosti vybrat stejnou volbu v kombinaci menu kabel-bufer-vlakno to znamená když vyberu v jakémkoliv řádku nějakou kombinaci aby ji nebylo možné použít v jiném řádku. Menu je generováno dynamicky a i počet řádků je proměnlivý stejně tak počet kabelů a počet buffrů,vláken. Nevím jestli jsem to popsal srozumitelně případně upřesním :) uvedená ukázka je samozřejmě statická stránka ale na pochopení problému zřejmě bude stačit. Zkoušel jsem si pohrát s jquery ,takže teď to po každé změně udělá sumarize ale nějak nemůžu dosáhnout toho ať to dělá co chci :) Děkuji moc za každou radu. |
||
Darker Profil |
#2 · Zasláno: 14. 11. 2011, 21:05:21
Nesta4ilo by existuj9c9 kombinace ukl8dat do pole a takhle to kontrolovat? Není to moc invenční ale funguje to.
|
||
Gogo_v Profil * |
#3 · Zasláno: 14. 11. 2011, 23:19:02
Přestěhoval jsem kod na stránky která je pořád online :) Odkaz
|
||
Časová prodleva: 10 dní
|
|||
Gogo_v Profil * |
#4 · Zasláno: 24. 11. 2011, 17:29:59
Opět dobrý den. Ukázka
No trošku jsem s tím pohl , ale potřeboval bych ještě poradit s jednou věcí. udělal jsem to porovnávání v poli ale nevím jak poskládat ten řetězec který budu porovnávat function kontrola(form,parm) { var hodnoty = [[0,0,0]]; var hodnotyb = [[0,0,0]]; for ( var i = 0; i < form.cnt.value; ++i ) { var idx = i + 1; var sela = $("#L1-"+idx).val(); var selb = $("#L2-"+idx).val(); var selc = $("#L3-"+idx).val(); var selaa = $("#L1-B"+idx).val(); var selbb = $("#L2-B"+idx).val(); var selcc = $("#L3-B"+idx).val(); hodnotyb[i] = ([selaa,selbb,selcc]); hodnoty[i] = ([sela,selb,selc]); if(compare(hodnoty[i],"Z001,31,241")) {alert("Stejne"); return false;} if(compare(hodnotyb[i],"Z001,31,241")) {alert("Stejne"); return false;} } } v parm si nechávám posílat z kterého selectu přišlo onChange je to řetězec "L3-x" nebo "L3B-x" kde x reprzentuje číslo řádku formuláře. otázka zní jak složím hodnotu na porovnávání ve stylu ([sela,selb,selc]) Řešení je samozřejmě nějak zjistit jestli je před - B a pak vzít číslo za pomlkou a vydolovat value z form . Nemám ovšem tušní jak .Děkuji za radu |
||
Gogo_v Profil * |
#5 · Zasláno: 24. 11. 2011, 17:37:58
Oprava : parm má samozřejmě tvar L3-x nebo L3-Bx už ani nevím co píšu :)
|
||
Gogo_v Profil * |
#6 · Zasláno: 24. 11. 2011, 19:39:44
Huh.
Tak už mi to dělá co jsem chtěl. pokud bz to někoho zajímalo function compare (a, b) { if (a.length != b.length) return false; for (var i = 0; i < a.length; ++i) if (a [i] != b [i]) return false; return true; } function kontrola(form,parm) { var hodnoty = [[0,0,0]]; var hodnotyb = [[0,0,0]]; c=parm.split('-')[1]; var compa = $("#L1-"+c).val(); var compb = $("#L2-"+c).val(); var compc = $("#L3-"+c).val(); var srovnej = ([compa,compb,compc]); for ( var i = 0; i < form.cnt.value; ++i ) { var idx = i+1; var sela = $("#L1-"+idx).val(); var selb = $("#L2-"+idx).val(); var selc = $("#L3-"+idx).val(); var selaa = $("#L1-B"+idx).val(); var selbb = $("#L2-B"+idx).val(); var selcc = $("#L3-B"+idx).val(); hodnotyb[i] = ([selaa,selbb,selcc]); hodnoty[i] = ([sela,selb,selc]); if("L3-"+idx != "L3-"+c) if(compare(hodnoty[i],srovnej)) {alert("Stejne"); return false;} if("L3-B"+idx != "L3-B"+c) if(compare(hodnotyb[i],srovnej)) {alert("Stejne"); return false;} } } Přijde mi to dost jako prasárna ale alspoň to funguje :) P.S. Kdyby někdo věděl jak to upravit aby se u posledního SELECTU(vlakna L3-x) zrušil výběr byl bych vděčný.Zkoušel jsem něco ve stylu document.form.parm.options=null; |
||
Gogo_v Profil * |
#7 · Zasláno: 25. 11. 2011, 10:02:47
Pokud by to někoho zajímalo
var aktsel = document.getElementById(parm); aktsel.selectedIndex = -1; |
||
Časová prodleva: 12 let
|
0