选择值时获取正确的var config

时间:2014-01-14 11:10:46

标签: javascript jquery html

我有这个var configs

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]

5 个答案:

答案 0 :(得分:3)

尝试:

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

只有在全局范围内定义了总数才能正常工作。

答案 1 :(得分:2)

我推荐使用数组:

,而不是攻击你的变量调用
var room_type = $("#room-type").val();

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

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

alert(total);

答案 2 :(得分:2)

你可以这样做:

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

如果您使用:

window['room_price_'+room_type]

您将无法更改上下文,您必须在窗口上下文中创建变量。 另一种方法是创建一种地图类型作为键,价格作为值,而不是使用不同的变量。

答案 3 :(得分:1)

设置一个对象来保存这些信息会更容易,IMO:

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

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

var total = roomPrice[room_type]; // 1500

答案 4 :(得分:0)

替换

var total = room_price_'+room_type+'';

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