Переменная внутри переменной
Есть код:
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..."? |
А тут что неправильно?
|
Цитата:
|
karakym,
а где код, того что неработает? |
Весь код:
// Обявляем объект, в котором ключи - значения // элемента списка, а значение - фраза, которую // нужно отображать под списком: 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> |
karakym,
а srur куда спрятали? |
Коды выше находятся в одном 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 = ''; } } |
karakym,
1 часть изолирована от второй - массив невиден во второй части плюс массив заполнится когда придёт ответ сервера |
Цитата:
То как решить второе я не совсем понял! |
karakym, че ты хуетой то страдаешь? Делай запрос валют на сервере. Делай его не при каждом запросе, а допустим только раз в час. Кэшируй короче. И выводи на странице. Это как делают нормальные мужики. А твое творение на поделку школьника похоже.
|
Как запрос на php делать уже показали тебе.
|
karakym, AJAX - Asynchronous Javascript And Xml - асинхронный -- части скрипта выполняются в разное время(как придёт ответ сервера) а не по порядку как написано, это нужно понять... более ничем помочь не могу.
|
Часовой пояс GMT +3, время: 01:04. |