Autor Zpráva
David123
Profil *
Čau, hele mám script.

$("#newsone #rate #addcomment").click(function(){
	
	input = $("<textarea>Zde napište Vás komentář...</textarea>");
	if($("#sub").html() == "") {
		$("#sub").html(input);
	} else {
		$("#sub").html("");
	}
		
});


po kliknutí na odkaz to má buď vytvořit nebo smazat textarea, ale problém je v tomhle:
cokdyž mám více těch odkazu, jakože
<div id="newsone"><div id="rate"><div id="addcomment"></div></div><div id="sub">ZDE SE MÁ ZOBRAZIT TEXTAREA</div></div>
<div id="newsone"><div id="rate"><div id="addcomment"></div></div><div id="sub">ZDE SE MÁ ZOBRAZIT TEXTAREA</div></div>

a když kliknu na spodní odkaz tak se vytvoří v horním divu sub. Chápu proč, protože jsou divy duplicitní ale jak to můžu udělat aby to fungovalo? Nechci každý div pojmenovávat jinak. Doufám že jste mě pochopili:) Děkuji předem.
Radek Cvek
Profil
id se stejným názvem může být na stránce jenom jeden - javascript musí zkolabovat - řešením mohou být různá id
Taps
Profil
David123
id musí být unikátní viz http://www.jakpsatweb.cz/css/css-tridy-class.html
David123
Profil *
a co stejné třídy?
David123
Profil *
změnil jsem identifikatory na třidy, které duplicitní můžou být, tak jak to udělám se třídami?
xmark
Profil
Jestli tam chceš jednotlivé divy odlišit, což zřejmě potřebuješ, neobejdeš se bez toho, abys jim přiřadil unikátní id. Tříd jim přiřaď kolik chceš, ale nepočítej, že bys je pro tento účel mohl využít.
David123
Profil *
no dobře, ale jak mám odeslat jqeury na kterou id jsem kliknul? protože jestliže mám třeba novinky 1,2
<div class="newsone"><div class="rate"><div class="addcomment"></div></div><div class="sub">ZDE SE MÁ ZOBRAZIT TEXTAREA</div></div> //1
<div class="newsone"><div class="rate"><div class="addcomment"></div></div><div class="sub">ZDE SE MÁ ZOBRAZIT TEXTAREA</div></div> //2


tak dočeho mám uložit to unikátní id? taky do třídy? šlo by to třeba takto "newsone_1 atd." ale pak by nefugoval funkce.. takže tomu dát 2 třídy?
xmark
Profil
<div class="newsone" id="news147">


http://www.jakpsatweb.cz/css/css-tridy-class.html
Chamurappi
Profil
Reaguji na Radka Cveka:
id se stejným názvem může být na stránce jenom jeden - javascript musí zkolabovat
Nemusí zkolabovat, nemá k tomu žádný důvod. Ale s jQuery bude kód v takovém případě fungovat v různých prohlížečích různě — $("#sub") najde vždy jen jeden element, zatímco $("#newsone #rate #addcomment") najde někde jeden a někde všechny.


Reaguji na Davida123:
Při zpracování události můžeš hledat v potomcích aktuálního elementu: $(this).find(".sub").
Radek Cvek
Profil
toto by nestačilo?
<form name="myform">
  <textarea name="inputtext1" onClick="document.myform.inputtext1.value='';" onBlur="document.myform.inputtext1.value='Zde napište Vás komentář...';"></textarea>
  <textarea name="inputtext2" onClick="document.myform.inputtext2.value='';" onBlur="document.myform.inputtext2.value='Zde napište Vás komentář...';"></textarea>
</form>
Radek Cvek
Profil
Chamurappi:
proč mi nefunguje this a myform.inputtext1.value mi funguje?
Radek Cvek
Profil
Aha funguje - měl jsem tam překlep
Radek Cvek
Profil
<form>
  <textarea onClick="this.value='';" onBlur="this.value='Zde napište Vás komentář...';">Zde napište Vás komentář...</textarea><br />
  <textarea onClick="this.value='';" onBlur="this.value='Zde napište Vás komentář...';">Zde napište Vás komentář...</textarea><br />
  <textarea onClick="this.value='';" onBlur="this.value='Zde napište Vás komentář...';">Zde napište Vás komentář...</textarea><br />
</form>
Chamurappi
Profil
Reaguji na Radka Cveka:
Aha, ono mu jde o tohle… nepřemýšlel jsem moc nad zadáním. Něco hodně podobného se tu řešilo předvčírem, viz Zmizení textu po kliknutí v inputu.
Tvému kódu by také pomohlo použití defaultValue.
David123
Profil *
Radek Cvek:
jo ale ja to chtěl přes ajax

Chamurappi:
jo ten find pomůže:) není i nějaká funkce která by mi dala odkaz na nejbližší div podle zadaného jména? Myslim to takto:
<div id="pokus"><div id="text"><div id="datum"></div></div></div>


měl bych odkaz na datum v hodnotě $(this) a zjistil bych nejbližší div s identifikatorem datum po zadu. Jakože nějak takto
pokus = $(this).funkce("#pokus");


Jestli si mě pochopil:)

Jinak diký všem za rady.
_es
Profil
David123:
jo ale ja to chtěl přes ajax
A čo by sa malo zo servera cez ten AJAX načítať?
Vyzerá to, ako by si nevedel, čo vlastne chceš.
David123
Profil *
Abych byl přesnější co chci pomoci jquery...

takže mám
<script>
....
  $(".odkaz").click(function(){
      $(??).text('')// a tady potřebuji se vrátit na class novinka abych mohl změnit hodnotu v class text, s možností že těch prvků je více, a nechci tomu přiřazovat specialni id.
  });
....
</script>

<div class="novinka"><a class="odkaz"></a><div class="text">Text</div></div>
<div class="novinka"><a class="odkaz"></a><div class="text">Text</div></div>
<div class="novinka"><a class="odkaz"></a><div class="text">Text</div></div>
_es
Profil
David123:
jo ale ja to chtěl přes ajax
AJAX znamená načítanie/komunikáciu so serverom. Takže nejde o AJAX.
David123
Profil *
_es:
jo jsem překlepl, měl jsem namysli jqeury
_es
Profil
David123:
jo jsem překlepl, měl jsem namysli jqeury
A z akého dôvodu?
Čo sa ti nepáčilo na riešení, čo ti poradil Radek Cvek v [#13]?

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: