Javascript 选择值时获取正确的var配置
我有这个var配置Javascript 选择值时获取正确的var配置,javascript,jquery,html,Javascript,Jquery,Html,我有这个var配置 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,我想得到房间的价格,价格,等等。如需向我显示房间\u价格\u[所选房间价值]请尝试: va
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,我想得到房间的价格,价格,等等。如需向我显示房间\u价格\u[所选房间价值]
请尝试:
var total = window['room_price_'+room_type];
只有在全局范围内定义了总计时,才会正常工作。替换
var total = room_price_'+room_type+'';
与
设置一个对象来保存此信息会更容易,IMO:
var room_type = $("#room-type").val(); // 1
var roomPrice = {
1: 1500,
2: 0,
3: 0
};
var total = roomPrice[room_type]; // 1500
与其攻击变量调用,我建议使用数组:
var room_type = $("#room-type").val();
var room_prices = ['1500','0','0'];
var total = room_prices[(room_type-1)];
alert(total);
您可以这样做:
var total = eval('room_price_'+room_type);
如果您使用:
window['room_price_'+room_type]
您将无法更改上下文,必须在窗口上下文中创建变量。
另一种方法是创建一种以房间类型为键、以价格为值的地图,而不是使用不同的变量。您能提供您的HTML或更好的地图吗fiddle@user3008011(imho)没有必要,这很清楚enough@RoyiNamir你是对的,我误解了这个问题。我这样做了
var total=window['room\u price\u'+room\u type];警报(总数)代码>但如果显示所选值,则显示未定义:P为1或2或3。但我成功了。谢谢你抽出时间。祝您愉快,先生!我想知道我是否投了反对票,我决定不投反对票,而是请您编辑您的答案,并指出,仅当您在窗口上下文中创建变量时,这是可能的。就像在控制台中创建变量一样。添加了一些描述文本。谢谢,这也是wokred!我喜欢你这样做。谢谢你,我找过这样的东西,但不知道怎么做。谢谢@曼多·马达林:如果你想接受,投票图标下面有一个绿色标志。
window['room_price_'+room_type]