|
|
Nacteni vyberu JavaScriptem
|
28.5.2007 23:33
lukas jahoda
|
Mam dotaz, poradite mi nekdo jak udelat aby po vybrani vyberu(<select>) se nacetly data do druhrho vyberu?? delam stranky pro autobazar a potrebuju aby se po vyberu znacky vozu nacetly do druheho vyberu modely vozu. Neco podobneho jako na serveru cars.cz, JavaScriptu moc nerozumim a kdyz jsem se koukl na zdrojovy kod koukal jsem na to jak na martany. JS ovladam pouze zaklady takze kdyby byl co nejpodrobnejsi navod byl bych velice vdecny. |
|
|
Re: Nacteni vyberu JavaScriptem
|
30.5.2007 06:37
J.Černý
|
Tady máš jak to dělám já. V uvedeném příkladě je seznam měněných položek celkem krátký, tak je mám předem načtené v poli. U většího rozsahu bych to asi načítal pomocí AJAXu.
Tady to mám pro 3 selecty. Funguje to tak, že při změně v selectu kind se v selectu type prvně vymažou stávající položky a pak se načtou položky odpovídající vybranému druhu. V selectu produced se vybere vyrobce, ktereho si pamatuju v v atributu title. Snad se v tom vyznáš :-).
function ChangeSubjectKind(act_kind){
Changed();
var i,k;
var first,last;
var elSel = document.getElementById('id_subject_type');
var listLength=elSel.length;
// alert("listLength="+listLength);
if (listLength != "undefined") for (k=listLength-1;k>-1;k--) elSel.remove(k);
if (act_kind !=0){
for (i=0;i<kinds_count;i++) if (act_kind == id_su_ki[i]) break;
first=index_su_ty[i];
last = i==(kinds_count-1) ? total_count : index_su_ty[i+1];
for (i=first;i<last;i++){
var elOptNew = crEl('option');
elOptNew.text = su_ty_name[i];
elOptNew.value = id_su_ty[i];
elOptNew.title = id_prod[i];
try {
elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
elSel = document.getElementById('id_producer');
for (i=0; i<elSel.length; i++)
if (elSel.options[i].value == id_prod[0]){
elSel.options[i].selected = true;
break;
}
}
}
function ChangeSubjectType(){
Changed();
var i,title="";
var elSel = document.getElementById('id_subject_type');
for (i=0; i<elSel.length; i++)
if (elSel.options[i].selected == true){
title=elSel.options[i].title;
break;
}
elSel = document.getElementById('id_producer');
for (i=0; i<elSel.length; i++)
if (elSel.options[i].value == title){
elSel.options[i].selected = true;
break;
}
}
|
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|