| 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: 15 let
|
|||
0