Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2014, 16:49
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Переменная внутри переменной
Есть код:
var name1 = "Vasya";
var name2 = "Petya";
var name3 = "Vitya";
//-------------------------
var str = {
code1: '<span>'+name1+' HELLO!</span>',
code2: '<span>'+name2+' HELLO!</span>',
code3: '<span>'+name3+' HELLO!</span>'
};

Собс-но как правильно вставить переменные "name1..."?
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2014, 17:27
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

А тут что неправильно?
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2014, 17:37
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Сообщение от jsnb Посмотреть сообщение
А тут что неправильно?
Вот не знаю правильно или неправильно, но скрипт не работает!
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2014, 17:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

karakym,
а где код, того что неработает?
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2014, 17:41
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Весь код:
// Обявляем объект, в котором ключи - значения
  // элемента списка, а значение - фраза, которую
  // нужно отображать под списком:
  var shouts = {
    thing1: '<s>'+srur[0]+' руб.</s>',
    thing2: '<s>'+srur[1]+' руб.</s>',
    thing3: '<s>'+srur[2]+' руб.</s>'
  };

  // Объявляем функцию-обработчик собития смены
  // выбранного элемента списка:
  function shoutbox(select) {
    // Получаем выбранный элемент списка:
    var selected = select.options[select.selectedIndex];

    // Если значение элемента есть в ключах shouts:
    if (selected.value in shouts) {
      // Меняем сообщение под списком:
      document.getElementById('box').innerHTML = shouts[selected.value];
    } else {
      // Иначе просто очищаем блок для сообщения:
      document.getElementById('box').innerHTML = '';
    }
  }

к нему же html:
<span><select class="tabsel" name="some" onchange="shoutbox(this)">
  <option value="thing1" selected>РУБ1</option>
  <option value="thing2">РУБ2</option>
  <option value="thing3">РУБ3</option>
</select></span>
<span id="box"></span>
Ответить с цитированием
  #6 (permalink)  
Старый 05.12.2014, 17:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

karakym,
а srur куда спрятали?
Ответить с цитированием
  #7 (permalink)  
Старый 05.12.2014, 17:51
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Коды выше находятся в одном html документе, вот srur находятся в подключенном в шапке js файле, вот его содержимое:
$(document).ready(function()
	{
			$.get('pubinfo.xml', function(data)
			{
				a = $(data).find('exchangerate');
				
				var prc = new Array();
				var val = new Array();
				prc[0] = Number(a[0].getAttribute("buy"));
				val[0] = a[0].getAttribute("ccy");
				prc[1] = Number(a[1].getAttribute("buy"));
				val[1] = a[1].getAttribute("ccy");
				prc[0] = Math.round(prc[0]*100)/100;
				prc[1] = Math.round(prc[1]*100)/100;
				jQuery('<s class="summ"></s>').html('<span>'+val[0]+'</span><br><span>'+prc[0]+'</span><br><span>'+val[1]+'</span><br><span>'+prc[1]+'</span>').appendTo('#xml-data');
				var start = new Array();
				var srur = new Array();
				var seur = new Array();
				start[0] = 2500;
				start[1] = 5000;
				start[2] = 7500;
				start[3] = 10000;
				srur[0] = String(Math.round((start[0] / prc[0])*100)/100);
				seur[0] = String(Math.round((start[0] / prc[1])*100)/100);
				srur[0] = srur[0].split('.')[0];
				seur[0] = seur[0].split('.')[0];
				alert('Сегодня:\n\t('+srur[0]+')'+val[0]+'\n\t('+seur[0]+')'+val[1]);
				//jQuery('<span></span>').html(srur[0]).appendTo('#ssbox1');
				//jQuery('<span></span>').html(seur[0]).appendTo('#ssbox2');
			});
	});

При этом нужно поменять выше код JS:
// Обявляем объект, в котором ключи - значения
  // элемента списка, а значение - фраза, которую
  // нужно отображать под списком:
  var shouts = {
    thing1: '<s>'+start[0]+' руб.</s>',
    thing2: '<s>'+srur[0]+' руб.</s>',
    thing3: '<s>'+seur[0]+' руб.</s>'
  };

  // Объявляем функцию-обработчик собития смены
  // выбранного элемента списка:
  function shoutbox(select) {
    // Получаем выбранный элемент списка:
    var selected = select.options[select.selectedIndex];

    // Если значение элемента есть в ключах shouts:
    if (selected.value in shouts) {
      // Меняем сообщение под списком:
      document.getElementById('box').innerHTML = shouts[selected.value];
    } else {
      // Иначе просто очищаем блок для сообщения:
      document.getElementById('box').innerHTML = '';
    }
  }
Ответить с цитированием
  #8 (permalink)  
Старый 05.12.2014, 18:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

karakym,
1 часть изолирована от второй - массив невиден во второй части плюс массив заполнится когда придёт ответ сервера
Ответить с цитированием
  #9 (permalink)  
Старый 06.12.2014, 00:11
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Сообщение от рони Посмотреть сообщение
karakym,
1 часть изолирована от второй - массив невиден во второй части плюс массив заполнится когда придёт ответ сервера
Ну если первое я понял, нужно добавить код сразу в документ а не подключать через файл
То как решить второе я не совсем понял!
Ответить с цитированием
  #10 (permalink)  
Старый 06.12.2014, 00:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

karakym, че ты хуетой то страдаешь? Делай запрос валют на сервере. Делай его не при каждом запросе, а допустим только раз в час. Кэшируй короче. И выводи на странице. Это как делают нормальные мужики. А твое творение на поделку школьника похоже.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
доступ к переменной заданой внутри setTimeout извне.. oxxy Общие вопросы Javascript 2 22.07.2014 14:52
Получение значения переменной внутри обработчика события jQuery Mbenga Общие вопросы Javascript 2 01.07.2013 10:57
Как обратиться к переменной внутри объекта, в произвольной функцию через его метод platedz Элементы интерфейса 15 25.08.2012 00:03
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 13.09.2011 00:56
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25