Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.03.2010, 07:22
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Преобразование переменной
Уж не знаю, правильно назвал или нет...
Суть такая, есть переменный

var lbox1 = "security";
var lbox2 = "automat";


Есть переменная которая отвечает за добавочное число, назовем ее rundomtrololo.

Есть

url: 'textsec/'вот тут должна получаться переменная(lbox+rundomtrololo)'.html',


Как мне сделать, чтобы данная сумма являлась нужной мне переменной?
Ответить с цитированием
  #2 (permalink)  
Старый 21.03.2010, 07:37
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

window['lbox' + num];
Ответить с цитированием
  #3 (permalink)  
Старый 21.03.2010, 07:49
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от Riim Посмотреть сообщение
window['lbox' + num];
Если честно, то совсем не понятно.
А так как непонятно, попробовал наугад и эпик фэил.
Если вам не сложно, поясните пожалуйста.
Ответить с цитированием
  #4 (permalink)  
Старый 21.03.2010, 07:59
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

url: 'textsec/' + window['lbox' + rundomtrololo] + '.html',

?
Ответить с цитированием
  #5 (permalink)  
Старый 21.03.2010, 08:07
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от Riim Посмотреть сообщение
url: 'textsec/' + window['lbox' + rundomtrololo] + '.html',

?
Ну да, так и написал. Но что-то не так

Вот весь скрипт

$(document).ready(function(){	
var testNumber = Math.floor( Math.random( ) * (2 - 1 + 1) ) + 1;
		var linkclass = $('.inlink a#security');
		var dbox = $(".text-sec");
		var lbox1 = "security";
		var lbox2 = "automat";

		$.ajax({
			url: 'textsec/'+window['lbox' + testNumber]+'.html',
			beforeSend: function(){
			dbox.addClass('loading');
		},
		success: function(boxtext){
			dbox.append(boxtext);
			dbox.removeClass('loading');
			dbox.html();
			linkclass.addClass('active');
                    }
                });
});
Ответить с цитированием
  #6 (permalink)  
Старый 21.03.2010, 08:31
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Выводите alert-ами разные переменные, смотрите то ли в них, что должно быть, есть специальные инструменты для отладки: http://javascript.ru/tools/development
Ответить с цитированием
  #7 (permalink)  
Старый 21.03.2010, 08:39
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Все выводит как положено и то что нужно. Вот только если писать
alert(window['lbox' + testNumber]);
выводит undefined

А если так
alert(['lbox' + testNumber]);
, то выводит нужные данные. Но если я правильно понимаю, то это уже не является переменной.
Ответить с цитированием
  #8 (permalink)  
Старый 21.03.2010, 08:50
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от doniv
выводит undefined
все верно, мы же переменные внутри функции определили, а ищем их зачем-то в window (мой косяк), так как внутри функции нет конкретной переменной, в которой лежит то, что было определено, значит используем eval, либо создаем такую переменную:

var a = function() {
	var x1 = 5;
	var x2 = 10;
	var num = 1;
	alert(eval('x' + num));
};
a();

var b = function() {
	var ob = {
		x1: 5,
		x2: 10
	};
	var num = 1;
	alert(ob['x' + num]);
};
b();
Ответить с цитированием
  #9 (permalink)  
Старый 21.03.2010, 10:06
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

а так низя url: 'textsec/lbox' +testNumber+ '.html',
__________________
Нет предела совершенству...

Последний раз редактировалось sysya, 21.03.2010 в 10:09.
Ответить с цитированием
  #10 (permalink)  
Старый 21.03.2010, 10:50
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от sysya
а так низя url: 'textsec/lbox' +testNumber+ '.html',
нужно значение переменной, а не ее имя:
Сообщение от doniv
var lbox1 = "security";
var lbox2 = "automat";
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обратиться к элементу формы, заданному переменной Andrej_2 Элементы интерфейса 4 15.05.2009 09:18
Присваивание значения переменной strike Общие вопросы Javascript 4 05.04.2009 14:19
ключи в ассоциативной переменной afandi Общие вопросы Javascript 4 05.02.2009 15:58
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25
Отправка многострочной текстовой переменной на сервер и обратный ответ blade-mscl AJAX и COMET 7 11.11.2008 16:13