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
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
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.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0