| 
		
						
			
			
	
				 | 
			
		
		
			
		
  
		| 
 
 
	
	
 
 
   
        
        
             
        
        
        | 
	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-2025 | 
					mail linuxsoft.cz | Design: 
					www.megadesign.cz
					
				 |