2014-01-14 2 views
2

У меня есть этот переменная конфигиПолучить право уага конфигурации при выборе значения

var room_type = $("#room-type").val(); 

var room_price_1 = '1500'; 
var room_price_2 = '0'; 
var room_price_3 = '0'; 

var total = room_price_'+room_type+''; 

alert(total); 

я хочу, чтобы получить цену гостиничного номера Варса, которые уже установлены. если тип комнаты равен 1, я хочу получить цену room_price_1 и так далее. как показывает мне room_price_[selected room value]

+0

Не могли бы вы предоставить свой HTML-код или, желательно, скрипку – timo

+0

@ user3008011 (imho) не нужно, достаточно ясно –

+0

@RoyiNamir. Вы правы, я неверно истолковал вопрос. – timo

ответ

2

Вместо взлома ваших переменных вызовов, Я рекомендую использовать массив:

var room_type = $("#room-type").val(); 

var room_prices = ['1500','0','0']; 

var total = room_prices[(room_type-1)]; 

alert(total); 
+0

Спасибо, это тоже было! –

+0

Мне нравится, как вы это сделали. спасибо, я искал что-то вроде этого, но не знал, как это сделать. благодаря!! –

3

Try:

var total = window['room_price_'+room_type]; 

будет корректно работать только если общая определена в глобальном масштабе.

+0

Я сделал это 'var total = window ['room_price _' + room_type]; alert (total); 'но я получаю undefined –

+0

Какое предупреждение (room_type) показывает вам в этом случае? –

+0

Если вы показываете мне выбранное значение: P равно 1 или 2 или 3. но я сделал трюк. Спасибо за ваше время. имейте хороший день сэр! –

0

заменить

var total = room_price_'+room_type+''; 

с

var total = window["room_price_" + room_type]; 
1

Было бы легче создать объект для хранения этой информации, IMO:

var room_type = $("#room-type").val(); // 1 

var roomPrice = { 
    1: 1500, 
    2: 0, 
    3: 0 
}; 

var total = roomPrice[room_type]; // 1500 
+0

Спасибо, эта работа тоже! –

2

вы можете сделать это:

var total = eval('room_price_'+room_type); 

, если вы используете:

window['room_price_'+room_type] 

вы не сможете изменить свой контекст, и вы должны создать свои переменные в контексте окна. Другим способом является создание вида карт с типами комнат в качестве ключей и цен как значений вместо использования разных переменных.

+0

Спасибо! это сработало! –

+0

Если бы это было полезно, согласились бы вы. –

+0

@Mando Madalin: есть зеленый знак под значками голосования, если вы хотите его принять. –

Смежные вопросы