(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
27. 05. 2011. | #1 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Programiranje uz jQuery
Koliko vidim, prilično je popularna ova biblioteka, jQuery. Ja je naravno nisam dirao dok se nije desilo da nasledim kod koji je već koristi. Sad, kad je već tu, a što i to ne probati...
Ali kao i svako učenje, ponekad se naiđe na prepreke. Ne predstavlja mi to veliki problem, ako provedem neko vreme bauljajući tamo po dokumentaciji bez da nađem kako da nešto rešim uz jQuery, rešim bez, srećom pa nam uvek stoji dobri stari javascript :-) Ako bi ova tema mogla da... pomogne da se malo bolje razume kako se praktično rešavaju problemi na koje se naiđe u praksi - to bi bilo sjajno! ... Najsvežiji primer: imam formular i select element, i na promenu opcije želim da izvršim programče u kome koristim i vrednost izabrane opcije i tekst koji se prikazuje u browseru. Html poput sledećeg: HTML kôd:
<select id="choose"> <option value=""></option> <option value="opt 1">First One</option> <option value="opt 2">2nd</option> <option value="last">Last</option> </select> Kôd:
$('#choose').change(function(e) { ... }); Kôd:
alert('value: ' + value + '; text:' + text); Ovo sam rešio, ali ne isključivo korišćenjem jQuerija. Inicijalno me interesuje postoji li 'čisto' jQ rešenje, molim ;-) |
27. 05. 2011. | #2 |
član
Certified
|
Kôd:
$("#choose").bind("change", function(event) { var value = $("#choose option:selected").val(); var text = $("#choose option:selected").html(); alert('value: ' + value + '; text:' + text); }); |
"Hvala" sinisabobic za poruku: |
27. 05. 2011. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
moze i ovako:
PHP kôd:
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 27. 05. 2011. u 20:25. |
"Hvala" ivanhoe za poruku: |
27. 05. 2011. | #4 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Hvala na odgovorima!
Naravno da mi je :selected totalno promakao među ponudom jQuery (iako sam već koristio nešto sličan :checked). Takođe ću da zapamtim i find(). Znači, this je referenca na #choose ovde, ali mi nije jasno baš šta je u opštem slučaju. Sledeći primer: Kôd:
$("#choose").change(function(e) { alert(this === e.target ? 'isto' : 'nije'); }); OK, evo drugi primer na istu temu: HTML kôd:
<style> div { padding: 6px; margin: 6px; border: 6px solid red; } </style> <div><div><div> </div></div></div> <script> $("div").click(function(e) { alert(this === e.target ? 'isto' : 'nije'); }); </script> Kôd:
alert(this === e.currentTarget ? 'isto' : 'nije'); |
28. 05. 2011. | #5 |
Ivan Dilber
Sir Write-a-Lot
|
this je uvek trenutni element, kao da si pisao <div onclick="console.log(this)">, odnosno jquery ti ucini uslugu pa ti binduje this na element na kome je pozvan event, umesto da this bude referenca na event handler funkciju, kao u klasicnom javascriptu...
sto se Event objekta tice ovde je to lepo objasnjeno http://api.jquery.com/category/events/event-object/ najkorisnije metode su stopPropagation() i preventDefault() Najdivnija stvar kod jquerija je sto kad si u nedoumici sta je sta, uvek bude ono najlogicnije, sto bi i ocekivao da bude, jako je intuitivan
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 28. 05. 2011. u 04:16. |
|
|