Autor Zpráva
__construct
Profil
Potrebujem vylepšiť nasledujúci skript. Všetky tie prvky(#id_zakaznik, atď) sú posebeidúce elementy formulára (text inputy a textarea). Nedá sa to spracovať cyklom ?
Dík za rady ..
$.getJSON(adresa,function(data){
		$('#id_zakaznik').val(data.id_zakaznik);
		$('#meno').val(data.zakaznik);
		$('#ic').val(data.ic);
		$('#adresa').val(data.adresa);
		$('#email').val(data.mail);
		$('#splatnost').val(data.splatnost);
		$('#telefon').val(data.telefon);
});
ah01
Profil
$.getJSON(adresa, function (data) {
	$.each(data, function (key, value) {
		$("#" + key).val(value);
	});
});
__construct
Profil
Díky, funguje to (po malej zmene IDčiek) ale povedal by som, že je to ešte náročnejšie ako ten pôvodný skript ..
$.getJSON(adresa, function (data) {
    $.each(data, function (key, value) {
        $("#" + key).val(value); // chcem sa vyhnúť volaniu $ na každý ten element ..
    });
});

//edit:
myslel som niečo takéto (toto ale nefunguje ..)
    var formular = document.getElementById('form-zakaznik').elements; //#form-zakaznik je ID formulára
    for (i = 0; i < formular.length; i++) {
	formular[i].value = data[i];
    }
ah01
Profil
__construct:
chcem sa vyhnúť volaniu $ na každý ten element
Proč? Myslíš že tvůj skript bude pomalý, nebo máš nějaký smysluplný důvod?
__construct
Profil
ah01:
Myslíš že tvůj skript bude pomalý
áno .. $ je dosť náročná funkcia (bolo to už niekoľkokrát spomínané) a nechcem ju zbytočne veľa krát volať ..

Už to mám takto :-)
var formular = document.getElementById('form-zakaznik').elements;
for (i = 0; i < formular.length; i++) {
      formular[i].value = data[formular[i].id];
}
ah01
Profil
__construct:
$ je dosť náročná funkcia
Ona je to dost mocná funkce a je optimalizovaná tak, aby pracovala co nejlépe napříč všemi možnými prohlížeči.

Samozřejmě, že pokud použiješ čistý JS kód, budeš to mít o trošičku rychlejší. Je třeba se ale trochu zamyslet. Ty posíláš nějaký požadavek na server, to trvá jednotky sekund. Odpověď pak zpracováváš, což trvá jednotky milisekund, tedy o 3 řády méně! Právě jsi strávil patrně několik hodin zrychlením svého skriptu řekněme o 1 ms, tedy asi o 1 ‰ – stálo ti to za tu námahu a komplikace?
Nox
Profil
ah01:
Tady to očividně cenu nemá, ale optimalizovat třeba funkci, která k elementům přistupuje velmi často a pouští se při různých příležitostech už cenu může mít, tam už ani nejde porovnávat se sekundami, jelikož nejde ani tak o čekání na načtení jako odezvu aplikace ... j, vím, bacha na premature/micro/nepotřebnou optimalizaci, ale někdy se to prostě může hodit

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: