Jqury kontrola dynamicky vytvorených elementov – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jqury kontrola dynamicky vytvorených elementov – JavaScript, AJAX, jQuery – Fórum – Programujte.comJqury kontrola dynamicky vytvorených elementov – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Majo
~ Anonymní uživatel
85 příspěvků
6. 12. 2017   #1
-
0
-

Zdravím, automaticky vytváram inputy... po kliknutí na tlačidlo sa zavolá funkcia AddElement:

function addElement() {

    intTextBox++;
    var objNewDiv = document.createElement('tbody');
    objNewDiv.innerHTML = '<tr><td><input type="text" id="nazov" name="nazov"></td></tr>';
    document.getElementById('content').appendChild(objNewDiv);
}

Všetko funguje ako má, problém je ale ten, že keďže sa vytvára dynamicky, tzn. nie je staticky vložený, tak o ňom Jquery funkcia nevie. Ide o nasledovnú autocomplete funkciu:

  $(function() {
    $( "#nazov" ).autocomplete({
		minLength: 2,
		source: 'private/hladaj.php',
	
	select: function(event, ui) {
    document.getElementById("pocet").value = ui.item.pocet;

  }	
    });
	
	
  });

Funkcia bez problémov beží na elemente, ktorý je "natvrdo" staticky zadaný v HTML kóde, nové elementy ale neberie do úvahy.

Čo sa čítal, tak existovala kedy funkcia jquery .live a terza je vymenená za .on, neviem ale ako to použiť v tomto prípade. Keďže chcem aby si Jquery zisťovalo nové položky. A priradilo pre každý nový input s daným ID možnosť autocomplete... Tzn. aby sa vždy dalo vybrať a bolo to jedinečné.

Ďakujem za pomoc.

Nahlásit jako SPAM
IP: 95.105.210.–
gna
~ Anonymní uživatel
1891 příspěvků
6. 12. 2017   #2
-
0
-

To $ je funkce. Takže tam máš příkaz

$(parametr);

který se hned provede = spustí se funkce $ a ta spustí tvoji funkci zadanou jako parametr a v tu chvíli ten input ještě neexistuje.

Můžeš s ním pracovat až po jeho vytvoření, takže autocomplete a cokoliv jiného mu nastav potom.

...
document.getElementById('content').appendChild(objNewDiv);
var input = $(objNewDiv).find('#nazov');
input.autocomplete(...);
Nahlásit jako SPAM
IP: 213.211.51.–
Majo
~ Anonymní uživatel
85 příspěvků
6. 12. 2017   #3
-
0
-

#2 gna

Ďakujem veľmi pekne, funguje parádne :) 

Nahlásit jako SPAM
IP: 95.105.210.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

Dynamický kód — založil

Listbox dynamicky — založil oxidián

Dynamický formulář — založil Tomass

Dynamicky banner — založil Peter P.

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý