Avatar
Matyáš Procházka:

Edit: Promiňte za chybějící titulek

"Objektivní proměnná"

Ahoj,

řeším jeden zákeřný problém a nevím, co s tím...

Mám zhruba tento html code:

<select id="vyber">
    <option value="test1">Test 1</option>
    <option value="test2">Test 2</option>
</select>
<div id="vypsat">
</div>

V JS s Jquery mám zhruba toto:

var test1 = new Array("Bla bla","Bla bla");
var test2 = new Array("Bla bla","Bla bla");

$("#vypsat").text($("#vyber").val()[1]);

A potřeboval bych něco následujícího:
A by se mi v tomto případě vypsalo 2 slovo ze zvolené řady... Jak nějak zajistit objektivní proměnou, která si vezme název ze zvoleného option...

Nyní to prostě vypíše druhé písmeno z hodnoty value.

Nevěděl by si někdo rady?

Editováno 20.3.2014 20:32
 
Odpovědět 20.3.2014 20:31
Avatar
Filip Šohajek
Redaktor
Avatar
Filip Šohajek:
var test1 = new Array("Bla bla","Bla bla");
var test2 = new Array("Bla bla","Bla bla");

$("#vypsat").text($("#vyber").val("test2"));
 
Nahoru Odpovědět 20.3.2014 20:34
Avatar
Odpovídá na Filip Šohajek
Matyáš Procházka:

? Nějak moc nechápu, co by to přesně mělo provést? Mě to maximálně vypsalo chybu :D

 
Nahoru Odpovědět 20.3.2014 20:39
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na Matyáš Procházka
Filip Šohajek:

Aha, to teda nevím. Mně to funguje. Omlouvám se

 
Nahoru Odpovědět 20.3.2014 20:42
Avatar
Odpovídá na Filip Šohajek
Matyáš Procházka:

A co ti to provede? Já potřebuji, pokud zvolím option třeba "test2", aby to vypsalo nějaké slovo z pole test2, a pokud zvolím jinou možnost, aby to vypsalo slovo z pole se stejným názvem :)

 
Nahoru Odpovědět 20.3.2014 20:44
Avatar
Filip Šohajek
Redaktor
Avatar
 
Nahoru Odpovědět 20.3.2014 20:50
Avatar
Filip Šohajek
Redaktor
Avatar
Filip Šohajek:

Tak, byly mensi trable s jquery CDN ale funguje to. Zde to je :

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

        <title></title>
</head>
<body>
<select id="vyber">
    <option value="test1">Test 1</option>
    <option value="test2">Test 2</option>
</select>
<div id="vypsat">
</div>
<script>
var test1 = new Array("Bla bla","Bla bla");
var test2 = new Array("Bla bla","Bla bla");

$("#vypsat").text(window[$("#vyber").val()]);
$("#vyber").change(function(){$("#vypsat").text(window[$("#vyber").val()]);});


</script>
</body>
</html>
Editováno 20.3.2014 21:07
 
Nahoru Odpovědět 20.3.2014 21:07
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Matyáš Procházka
Honza Bittner:

Co takhle využít objektu. Nevím teď jak se to přesně zapisuje, avšak nějak takto?

var test = {
  jedna: ["bla","haf"],
  dva: ["mnau","béé"]
}

Kde můžeš využít jak test.jedna tak i test[jedna].

? :)

Nahoru Odpovědět 22.3.2014 14:07
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Matyáš Procházka:

To, co oba píšete nevystihuje můj problém, tedy pokud jsem špatně nepochopil já..

No takhle já bych přesněji řečeno potřeboval toto:

Opravdu zjednodušeně:

var zvirata = new Array("Pes","Slon","Gepard","Vydra");
var lide = new Array("Spisovatel","Úředník","Policista");

var vybranaSkupina = "zvirata";

var slovo = vybranaSkupina[1];

A vypíše to Slon, protože vybraná skupina má název "zvirata" a to pole se také jmenuje zvirata.... Pokud za proměnou vybranaSkupina dosadim "lide" vezme si to druhou pozici z pole "lide"... A by se vždy, když cokoli dosadím jako hodnotu proměné "vybranaSkupina" stal vlastně její název... a při "vybranaSkupi­na[cislo]" si to vzalo slova z pole s názvem jako má hodnotu proměná "vybranaSkupina"

 
Nahoru Odpovědět 23.3.2014 22:22
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Matyáš Procházka
Honza Bittner:

Toto funguje :

var obj = {
   zvirata: ["Pes","Slon","Gepard","Vydra"],
   lide: ["Spisovatel","Úředník","Policista"]
};

var vybranaSkupina = "zvirata";

alert( obj[vybranaSkupina][1] );
Nahoru Odpovědět  +1 23.3.2014 22:57
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Odpovídá na Honza Bittner
Matyáš Procházka:

Anojo ;)
Zkoušel jsem to před tím a nefungovalo mi to... Asi jsem tam měl chybu :O
Tudíž ti chci moc poděkovat, ulehčí mi to totiž hodně práce :)

 
Nahoru Odpovědět 23.3.2014 23:03
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Matyáš Procházka
Honza Bittner:

Není zač.

Lepší řešení jsem zatím neviděl, ale toto by mělo býti dostatečné. :)

Nahoru Odpovědět  +1 24.3.2014 9:04
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.