Autor Zpráva
pop
Profil *
Dobrý večer. Jakým nejjednodušším způsobem (klidně i za použití jquery) se lze dostat javascriptem k tomuto elementu input, aniž bych znal jeho název? Znám pouze umístění: jediný v daném td.
table
 tr
  td
   input
   a href (po kliknutí bych chtěl změnit text v předchozím inputu).

Normálně bych toho docílil tak, že bych to procházel cyklem, ale určitě existuje jednodušší způsob.
DJ Miky
Profil
Pokud je odkaz i input ve stejném <td> a znáš pozici inputu (např. vždy první v <td>), pak to jde jednoduše takhle:
<a ... onclick="this.parentNode.childNodes[0].value='změna';">
(kde nula znamená první prvek)

Jinak můžeš použít getElementsByTagName:
<a ... onclick="this.parentNode.getElementsByTagName('input')[0].value='změna';">
pcmanik
Profil
Nemozes tomu inputu normalne nastavit id? Potom sa da vyuzit rovno natyvna metoda prehliada getelementbyid(), alebo ak chces pomocou jQuery tak by to bolo $("#nejake_id")
Chamurappi
Profil
Reaguji na popa:
Předchozího sourozence najdeš v previousSibling. Sourozencem ovšem může být i text nebo komentář, nejen element.
pop
Profil *
DJ Miky:
díky moc.

pcmanik:
id je generováno automaticky frameworkem
Witiko
Profil
Chamurappi:
To by pak mohlo vyřešit previousElementSibling. Pokud by člověka nezajímal IE < 9 :-)

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: