Autor | Zpráva | ||
---|---|---|---|
matata8611 Profil |
Ahoj,
s JS teprve začínám, snažil jsem se hledat, implementovat, ale nepodařilo se mi... Mám tento kód: <script> jQuery( ".btn231" ).click(function() { jQuery("#typ").val("Kalendář nástěnný A4 roční"); jQuery("#cena").val("80,- Kč"); }); </script> Potrebuji získat: Pokud value inputu s ID "styl" neni prazdne, vykonej to co tam mam ted, pokud prazdne je, zobraz alert. |
||
Kcko Profil |
jQuery( ".btn231" ).click(function() { if (jQuery('styl')[0].value != '') // případně jQuery('#styl').val() != '' { jQuery("#typ").val("Kalendář nástěnný A4 roční"); jQuery("#cena").val("80,- Kč"); } else { alert('error ...'); } }); |
||
juriad Profil |
Kcko:
Když už používá jQuery, proč nevyužít jeho metody? Snad takto (2. řádek): if (jQuery('#styl').val() != '') Ok, dopsals. Ale ten křížek v selektoru ti pořád chybí. :-) |
||
Kcko Profil |
juriad:
Protože je to nepatrně rychlejší bych řekl ;) a hlavně se naučí převádět jQuery kolekci na DOM kolekci a bude se mu hodit v mnoha případech. Edit: JJ zapomněl, akorát mi do toho volal klient sakra ;) |
||
matata8611 Profil |
#5 · Zasláno: 30. 10. 2015, 11:51:05
Díky, moc měl jsem to správně, akorát jsem tam neměl to "[0]" v podmínce. Proč to tam musí byt prosim?
|
||
juriad Profil |
#6 · Zasláno: 30. 10. 2015, 12:05:32
matata8611:
Protože jQuery nevrací kolekci elementů, ale vrací nějaký svůj obal. Tento obal má metodu val (která bere 0 až 1 argument), ale nikoli přímou vlastnost value .
Tento obal je indexovatelný a jeho prvky jsou přímo DOM Elementy, které naopak mají vlastnosti value , ale nemají metody pro práci s hodnotami.
|
||
Časová prodleva: 8 let
|
0