Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 22 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok NapísalOffline : 09.03.2011 15:48

chcem si spravit fciu erase() napriklad ..ktora by zacinala takto
Kód:
$("a.erase").click(function(){
....
});


namiesto "..." potrebujem doplnit kod ktory mi najde najblizsi input PRED tymto elementom na ktory bude kliknute...a to neviem ako :( ... aby som inputu mohol nastavit value = ""... viete mi pomoct?


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 09.03.2011 17:05

DOM je v podstate strom, takže najbližší pred môže znamenať všeličo (záleží to od toho, aký html kód tam používaš).


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 09.03.2011 18:11

Toto by nefungovalo??

$("a.erase").click(function(){ $("a.erase").prev("input").value="bla" });


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 09.03.2011 22:15

skor takto ale ani to NEJDE :(...to co si napisal by nefungovalo ak by si mal na jednej stranke viac a.erase lebo by nevedelo ktory input ma brat...

Kód:
                function erase(){
                    $("a.erase").click(function(e){
                        var $target = $(e.target).prev("input");
                        $target.value = "";
                    });
                }


Offline

Čestný člen
Čestný člen
najst najblizsi input pre daným elementom

Registrovaný: 09.05.05
Prihlásený: 07.12.16
Príspevky: 1294
Témy: 69
Bydlisko: - - -
Príspevok NapísalOffline : 10.03.2011 9:21

pouzivaj `this` ked chces vediet na ktoru linku si prave klikol.

Kód:
$('a.erase').click(function(){
  var input = $(this).prev('input');
  input.val('');
});


nezabudaj ze input musi byt sibling..


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 10.03.2011 13:10

rad by som povedal ze to funguje...ale nefunguje :/ preco?


Offline

Čestný člen
Čestný člen
najst najblizsi input pre daným elementom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 10.03.2011 15:07

Lebo to mas pokazene. Posli odkaz na zivu ukazku alebo ukaz svoj kod cez jsfiddle.net.


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 10.03.2011 15:52

Ja by som sa pridal ak dovolíte, lebo som sa do toho zaplietol a keďže je to to isté, tak nechcem zakladať novú tému.
Tu je kód: http://jsfiddle.net/p5XEp/3/
Ten kód funguje ako má, ale keď do funkcie prev pridám argument napr. prev("div"), tak to fungovať prestane.
Nechápem prečo?


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 27.11.10
Prihlásený: 20.08.13
Príspevky: 112
Témy: 18
Príspevok NapísalOffline : 10.03.2011 16:07

Mne to ide...
http://jsfiddle.net/p5XEp/6/


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 10.03.2011 16:17

Ando:
To by mohlo byť riešenie pre DeeJaya, ale mňa by zaujímalo, prečo ten tvoj príklad prestane fungovať keď medzi ten klikač a ten input pridám niečo iné, ako napr. tu: http://jsfiddle.net/p5XEp/7/
Lebo podĺa dokumentácie by to fungovať malo. Načo iné je tam potom voliteľný argument???

EDIT:
Ako vidno vadí tam akýkoľvek iný element, ktorý by sa ocitol medzi klikačom a prev(). Ale fakt nechápem, načo je tam potom ten voliteľný argument.


Offline

Čestný člen
Čestný člen
najst najblizsi input pre daným elementom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 10.03.2011 16:25

Lebo tak funguje metoda prev(). Ty skor potrebujes http://api.jquery.com/prevAll/ alebo este lepsie http://api.jquery.com/prevUntil/


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 10.03.2011 17:00

no ja tam tiez mam medzi tym nejaky iny element...preto mi to neslo...ako to inak napisat ???


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 10.03.2011 17:10

No tak pre to čo som chcel, by to mohlo vyzerať takto: http://jsfiddle.net/p5XEp/9/
Len je tam zaujímavé, že prevAll() vracia objekt, ktorý má prvky zoradené od konca. Moc elegantné mi to celé teda nepripadá. Čakal som že funkcia prev() bude fungovať lepšie...

EDIT:
sorry už je ten link opravený...


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 11.03.2011 1:10

DeeJay3 píše:
no ja tam tiez mam medzi tym nejaky iny element...preto mi to neslo...ako to inak napisat ???
A ako teda vyzerá ten tvoj html kód?


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 11.03.2011 8:09

teda nie element ale mam to v tabulke
Kód:
<table class="inner auto" cellspacing="0">
                    <tbody>
                        <tr>
                            <td>
                                <input type="text" name="platnost" id="platnost" value="" />
                                &nbsp;&nbsp;
                            </td>
                            <td>
                                <a class="erase"/>
                            </td>
                        </tr>
                    </tbody>
                </table>


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 11.03.2011 10:12

Tam bude problém v tom, že ten input neni sibling...

A mohlo by to vyzerať snáď takto: http://jsfiddle.net/p5XEp/10/
A children() nema problem ani s inymi elementami v danej bunke: http://jsfiddle.net/p5XEp/12/

Super vecička tento jsfiddlle :)


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 12.03.2011 11:29

jj ide to dikes....

// pridané po 19 hodinách 24 minútach od posledného príspevku

Kód:
$(this).parent().prev().children("input").attr("value", "");


a mohol by mi to niekto trocha objasnit??...funguje to ale nejak tomu nechapem aj ked som si precital dokumentaciu :/...
tejto postupnosti nerozumiem: parent().prev().children("input")

teraz napriklad potrebujem napisat fciu ktora mi vlozi vsetky udaje do elementu (select) ktory sa nachadza najblizsie ZA kliknutym elementom...cize nasledujuci element select


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 12.03.2011 11:45

To je taký problém dať tým elementom nejaké id? Napr. <a> sa dá item_1, tomu editu zase item_1_text ...

Ak sa to tak nedá, lebo to máš zložitejšie, tak to máš urobené zle a urob to ešte raz a rozumne (spoliehať sa v javascripte na presný tvar html kódu nie je podľa mňa rozumné).


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 12.03.2011 11:54

samozrejme ze sa to da...prave tak to teraz mam spravene...ale dosiel som k problemu ktory mi to robi nepouzitelnym...trochu ti ho popisem:

mal som dve selecty...prvy #druh_zariadenia v ktorom som si vybral druh zariadenia cez onchange $(this).val(). postom cez ajax poslal do suboru v ktorom som vytiahol vsetky zariadenia podla value aku som v tomto selecte vybral a options vlozit do druheho selectu #zariadenia..ALE ...vyskytol sa problem ze potrebujem na stranke prepojit jedno zariadenie z inym TAKZE: potrebujem vybrat druh zariadenia a zariadenie pre PRVE a vybrat druh zariadenia a zariadenie pre DRUHE zariadenie...to znamena ze uz tam ID na tie elementy pouzit nemozem lebo by tam boli dvakrat...tieto dve selecty su VZDY za sebou preto tam ziadny problem nastat nemoze a mozem to spravit takto..len potrebujem pomoct
Kód:
   <table>
        <tr>
            <td align="left">
                <select name="druh_zariadenia" id="druh_zariadenia" >
                    <option value=""></option>
                    <option value="3" >druh 3</option>
                    <option value="4" >druh 4</option>
                    <option value="5" >druh 5</option>
                </select>
            </td>

            <td align="left">
                <select name="zariadenie" id="zariadenie" >
                    <option value=""></option>
                </select>
            </td>
        </tr>
   </table>

js:
Kód:
$("#druh_zariadenia").change(function() {
            $.ajax({
                url: 'site.php/get_zariadenia/'+$(this).val(),
                dataType : 'json',
                success : function(data){
                        $("#zariadenie").html(data.content);
                },
                error : function() {
                    alert('chyba');
                }
            });
        });


ak tie selecty dam dvakrat za sebou on nevie do ktoreho ma vlozit tie udaje preto potrebujem tento riadok $("#zariadenie").html(data.content); nahradit takym ze to vlozi do najblizsieho selectu


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 12.03.2011 12:35

Ty tam máš teda dve zariadenia? Ak áno, to je problém použiť ID zariadenie1 a zariadenie2? Prípadne môžeš použiť class.


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 05.09.09
Príspevky: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 12.03.2011 12:41

deeJay:
Tu nájdeš všetko, čo som použil v tvojom prípade: http://jquery-navod.cz/kategorie-selektory/4-selektory
Ak nechápeš, čo znamenajú slová parent, children, sibling a prev tak si treba pozrieť niečo o štruktúre DOM.

chrono:
Ale ako rozlíšiš v tom riadku - $("#zariadenie").html(data.content); - do ktorého sa to má vložiť?? Musel by si založiť nejakú premennú s identifikátorom, ktorá by to rozhodla, čo by bola ďalšia funkcia navyšše, nie??

Edit:
ale tá funkcia by zrejme bola aj tak efektívnejšia...


Offline

Užívateľ
Užívateľ
najst najblizsi input pre daným elementom

Registrovaný: 28.02.09
Prihlásený: 19.02.18
Príspevky: 241
Témy: 56
Príspevok Napísal autor témyOffline : 12.03.2011 18:40

pozri sem spravil som nejaky podobny priklad bez toho aby som to musel posielat do suboru

http://jsfiddle.net/sjVfC/2/

len tam potrebujem nahradit riadok $("#zariadenie").html(content); za taky aby tie options vlozilo do nasledujuceho selectu za tym v ktorom vyberas druh..ta fcia sa v stahuje stale na dve selecty v jednom vyberiem druh a do druheho sa mi vypisu zariadenia tohto druhu...a nemozem to viazat na ID lebo takych dvojich tam mozem mat aj 4

// pridané po 1 hodine 31 minútach od posledného príspevku

camo píše:
deeJay:
Tu nájdeš všetko, čo som použil v tvojom prípade: http://jquery-navod.cz/kategorie-selektory/4-selektory

cele som si to presiel..ale neviem ci to nejake spojenie fcii next, children mi pomoze kedze tie moje dva selecty mozu byt oddelene buď:
Kód:
<tr>
   <td>
      select 1
   </td>
   <td>
      select 2
   </td>
</tr>

ale mozu byt oddelene aj:
Kód:
<tr>
   <td>
      select 1
   </td>
</tr>
<tr>
   <td>
      select 2
   </td>
</tr>

pri oboch pripadoch by ten js kod mal vyzerat inak nie?...potrebujem nieco co prejde DOM od aktualneho selectu az kym nenajde najblizsi dalsi select a do neho to vlozi...ziadne jednoduche riesenie neexistuje ?

// pridané po 4 hodinách 21 minútach od posledného príspevku

edit: no nic spravil som to tak ze beriem druhu class s aktualneho selectu
Kód:
var target = $(this).attr('class').split(" ")[1];


kedze prva je .druh_zariadenia a terget select vyberam tak ze:
Kód:
$('select#'+target).html(data.content);


inak sa to asi ani neda


Odpovedať na tému [ Príspevkov: 22 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Nefunguje script pre input formulara

v JavaScript, VBScript, Ajax

13

849

23.08.2010 15:38

newboy1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia pre input v skrytom dive

v JavaScript, VBScript, Ajax

2

380

04.12.2010 12:15

DeeJay3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Najblizsi datum

v Databázy

7

692

21.03.2011 20:21

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Menu - problem s pseudo-elementom

v HTML, XHTML, XML, CSS

2

258

14.02.2012 19:56

tomco3131 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nemôžem nájsť driver pre monitor

v Ovládače

1

703

30.01.2010 15:46

Milan.H Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nemozem najst bios pre moju dosku

v Biosy a ladenie výkonu

1

1281

27.04.2006 16:40

XPM Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. neviem najst firmware pre moju mechaniku mam ntb acer AS5920

v Ovládače

9

694

16.11.2008 15:56

Googler1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input

v HTML, XHTML, XML, CSS

19

1401

08.03.2008 14:53

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Input

v JavaScript, VBScript, Ajax

1

894

26.02.2008 7:49

sento Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. heigth input

v HTML, XHTML, XML, CSS

5

507

31.01.2009 19:20

jablko05 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input index

v PHP, ASP

6

551

05.07.2009 19:42

php30 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input jQuery

v JavaScript, VBScript, Ajax

5

577

20.07.2010 21:07

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input - checkbox

v PHP, ASP

1

392

17.09.2011 21:46

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Input file

v HTML, XHTML, XML, CSS

3

658

28.04.2008 16:37

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input - javascript

v JavaScript, VBScript, Ajax

20

947

15.11.2011 15:49

lukas15 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. input s filtrom

v HTML, XHTML, XML, CSS

4

516

19.12.2009 11:35

djsulo Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra