Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.01.2015, 20:56
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

Определить значение переменной как другую переменную
Приветствую!
Имеется конструкция вида
phrase = getCookie("lang['button']"),
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase:  'func1',
b: 'func2'
}
}
for(var btn in options.buttons) 
{
var _btn = d.createElement('button');
var __btn = options.buttons[btn];
addEvent(_btn, 'click', __btn);
var txt = d.createTextNode(btn);
_btn.appendChild(txt); // выведет "phrase"
..
}

При таком раскладе выводится слово "phrase" вместо нужной фразы, которую нужно определить заранее.
Подскажите как сделать так, чтобы выводилась та фраза, которую определяем в переменной?
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2015, 04:38
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

В 15 строке заменить `btn` на `__btn`.
И вообще, рекомендую давать названия поосмысленней.
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2015, 12:06
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

<div id="body"></div>
<script>
phrase = 'Ок';
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase:  function(){ alert(); },
cansel: function(){ alert(1); }
}
}
for(var btn in options.buttons) 
{
var _btn = document.createElement('button');
_btn.onclick = options.buttons[btn];
var txt = document.createTextNode(btn);
_btn.appendChild(txt); // выведет "phrase" и "cansel" вместо "Ок" и "cansel"
document.getElementById('body').appendChild(_btn); 
}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2015, 17:12
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Или ты это имеешь ввиду?
<div id="body"></div>
<script>
phrase = 'Ок';
var options = {
opt1: '123',
opt2: '321',
buttons: {
phrase:  function(){ alert(0); },
cansel: function(){ alert(1); }
}
}
for(var btn in options.buttons) 
{
var _btn = document.createElement('button');
_btn.onclick = options.buttons[btn];
var txt = document.createTextNode(window[btn]||btn);
_btn.appendChild(txt); // выведет "phrase" и "cansel" вместо "Ок" и "cansel"
document.getElementById('body').appendChild(_btn); 
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2015, 19:13
Профессор
Отправить личное сообщение для cript Посмотреть профиль Найти все сообщения от cript
 
Регистрация: 03.02.2014
Сообщений: 238

SV0L0CH,
это то что нужно, очень выручил!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать значение переменной? maksbp22 Общие вопросы Javascript 0 11.10.2013 16:21
В contains() не подставляется значение переменной Heger jQuery 2 11.12.2011 20:26
Значение переменной salex009 jQuery 1 05.12.2011 16:55
Как получить значение php переменной sanyalex AJAX и COMET 1 30.10.2011 22:45
Значение переменной не может привысить 30 и опуститься ниже 1-го, как сделать? libinstyle Events/DOM/Window 3 12.07.2010 23:27