Šta je novo?

jQuery problem

  • Začetnik teme Začetnik teme Himo
  • Datum pokretanja Datum pokretanja

Himo

Slavan
Učlanjen(a)
08.01.2008
Poruke
36
Poena
309
Uhhh...ovako, imam sledeci problem a nov sam u Jquery-u:

<li class="headlink"><a href="#" >Maticne ploce</a>
<ul class="active" >
<li><a href="#">LGA 775</a></li>
<li><a href="#">LGA 1055</a></li>
<li><a href="#">LGA 1366</a></li>
<li><a href="#">AM2</a></li>
<li><a href="#">AM3</a></li>
</ul>
</li>
Ovo je prikaz samo jedne od vise vezanih listi u redu.Hocu da kad korisnik odabere npr LGA775 da u jQuery-u dobijem naziv o odabrane stavke (LGA775) kao i odabrane kategorije (Maticne ploce).
Uspesno sam ocitavao vrednosti o svakom od zeljenih parametra ponaosob ali nikad o obe vrednosti.

Ne znam koliko sam bio jasan, hvala unapred na odgovorima :wave:
 
Verovatno bi moglo i elegantnije da se odradi ali i ovo ti zavrsava posao.

Kod:
​$(document).ready(function(){
    $('.active li').click(function(){      /// ili $('.headlink ul li').click
        var promenjiva1 = $(this).text();
        var promenjiva2 = $(this).parent().parent().find('a').first().text();
        alert(promenjiva1);
        alert(promenjiva2);
   });
});​
 
Poslednja izmena:
Verovatno bi moglo i elegantnije da se odradi ali i ovo ti zavrsava posao.

Kod:
​$(document).ready(function(){
    $('.active li').click(function(){      /// ili $('.headlink ul li').click
        var promenjiva1 = $(this).text();
        var promenjiva2 = $(this).parent().parent().find('a').first().text();
        alert(promenjiva1);
        alert(promenjiva2);
   });
});​

Hvala ti prijatelju, imas pivo od mene 🙂
Sad mi jedino preostaje da potpuno prokljuvim sta si uradio! xD
 
Kod:
$(this).text()
ti vraca tekst unutar elementa koji si kliknuo;
Kod:
$(this).parent()
ti vraca parent element odnosno DOM element u kome se nalazi kliknuti element. Ukratko receno vraca te po html hijerarhiji jedan stepen vise. U ovom konkretnom slucaju bi ti vratio ovaj 'ul.active' element.
Kod:
$(this).parent().parent()
te vraca jos jedan stepen vise, u ovom konkretnom slucaju je to:
Kod:
<li class="headlink"><a href="#" >Maticne ploce</a>


I na kraju kod koji je tebi trebao je:
Kod:
$(this).parent().parent().find('a').first().text()
i ukratko ono sto radi je da te prebaci dva stepena vise u hijerarhiji i onda kaze nadji mi sve 'a' tagove unutar tog elementa i prikazi mi tekst prvog od njih.

Jedan od razloga zasto je jQuery toliko popularan jeste upravo ovo nadovezivanje funkcija koje je prilicno logicno.

Pozdrav, srecno dalje u radu sa tim :wave:
 
Zahvaljujem! 🙂

Ja mislim da sam radio pogresno:
$('li>ul>li') ili nesto slicno, obrisao sam stari kod pa ne mogu da proverim i vracao mi je niz...sad znam zasto 🙂
 
Nazad
Vrh Dno