Autor | Zpráva | ||
---|---|---|---|
David123 Profil * |
#1 · Zasláno: 26. 1. 2011, 11:01:25
Č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 |
#2 · Zasláno: 26. 1. 2011, 11:08:09 · Upravil/a: Radek Cvek
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 |
#3 · Zasláno: 26. 1. 2011, 11:08:10
David123
id musí být unikátní viz http://www.jakpsatweb.cz/css/css-tridy-class.html |
||
David123 Profil * |
#4 · Zasláno: 26. 1. 2011, 11:15:53
a co stejné třídy?
|
||
David123 Profil * |
#5 · Zasláno: 26. 1. 2011, 11:23:58
změnil jsem identifikatory na třidy, které duplicitní můžou být, tak jak to udělám se třídami?
|
||
xmark Profil |
#6 · Zasláno: 26. 1. 2011, 11:26:38
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 * |
#7 · Zasláno: 26. 1. 2011, 11:35:02
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 |
#8 · Zasláno: 26. 1. 2011, 11:37:20
|
||
Chamurappi Profil |
#9 · Zasláno: 26. 1. 2011, 11:44:54 · Upravil/a: Chamurappi
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 |
#10 · Zasláno: 26. 1. 2011, 11:46:08 · Upravil/a: Radek Cvek
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 |
#11 · Zasláno: 26. 1. 2011, 11:47:22
Chamurappi:
proč mi nefunguje this a myform.inputtext1.value mi funguje? |
||
Radek Cvek Profil |
#12 · Zasláno: 26. 1. 2011, 11:49:01
Aha funguje - měl jsem tam překlep
|
||
Radek Cvek Profil |
#13 · Zasláno: 26. 1. 2011, 11:51:37
<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 |
#14 · Zasláno: 26. 1. 2011, 12:59:31
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 * |
#15 · Zasláno: 26. 1. 2011, 22:49:55
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 |
#16 · Zasláno: 26. 1. 2011, 23:01:23
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 * |
#17 · Zasláno: 26. 1. 2011, 23:06:45
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 |
#18 · Zasláno: 26. 1. 2011, 23:12:06
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 * |
#19 · Zasláno: 26. 1. 2011, 23:15:06
_es:
jo jsem překlepl, měl jsem namysli jqeury |
||
_es Profil |
#20 · Zasláno: 26. 1. 2011, 23:28:06
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]? |
||
Časová prodleva: 13 let
|
0