| 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: 11 let
|
|||
0