Переменная внутри переменной
Есть код:
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:23. |