我有这个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]
答案 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];