pouzite JSON vystupu pre pouzitie dat v main.js

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Matej123
Člen | 150
+
0
-

Dobry den, chcel by som sa Vas opytat na jednu vec. V main.js mam takyto kod:

<script>
	$("#fpr").change(function () {
		...
		var a = ...;
			if (a === 'last minute'){
				doSomething();
			}
		...
	});
</script>

Ten string ‚last minute‘ nechcem aby bol len takto staticky.Chcem aby sa tento udaj cital z databazy a nasledne sa vlozil do tej podmienky. Akym sposobom by som mal postupovat? Dakujem.

Aurielle
Člen | 1281
+
0
-

Přímo do externího .js nemáš jak vlastní údaj přímo dostat. Musíš si pomoct nějakým přenosem, třeba přes data- atribut někde v generované šabloně, do kterého tuhle hodnotu vložíš a pak ji v main.js přečteš.

Matej123
Člen | 150
+
0
-

nevies mi povedat nejaky priklad ako by sa to dalo? a ked nemam len tu jednu hodnotu „last minute“, ale chcem ziskat viacero hodnot z databazy a pouzit ich v main.js?

Aurielle napsal(a):

Přímo do externího .js nemáš jak vlastní údaj přímo dostat. Musíš si pomoct nějakým přenosem, třeba přes data- atribut někde v generované šabloně, do kterého tuhle hodnotu vložíš a pak ji v main.js přečteš.

Rob Bob
Člen | 60
+
0
-

Můžeš si ve formuláři třeba udělat nějaký skrytý select, odkud si ty hodnoty načteš, nebo to dát např. v JSON formátu jako atribut nějakého prvku, nebo v šabloně mezi <script> tagy inicializovat nějaké globální pole. To už záleží na přesnějších potřebách.

Já bych asi volil ten datový atribut, pokud to v aplikaci je jen na jednom konkrétním místě

A příklad:

<div id='something' data-type='["last_minute","foo","bar"]'>

a pak v jQuery

<script>
	var obj = jQuery.parseJSON($("#something").attr("data-type"));
</script>

Editoval Rob Bob (11. 2. 2016 17:02)