从文本中检索变量而不使用eval()

时间:2012-11-15 18:35:48

标签: javascript jquery

我正在尝试构建一个计算广告价格的表单。问题是,每个部分都有不同的基值。所以我试图让jQuery来评估变量,但它只是评估文本。 Eval()在这里工作,因为它返回变量而不是文本。

var onlineAdCalc =eval($('#onlineAdSection').val()+$('#onlineAdSize').val());

$('#onlineAdSection')$('#onlineAdSize')都是选择框。

例如,

var homebox = 38.4;
$('#onlineAdSection').val() = home;
$('#onlineAdSize').val() = box;

with eval

onlineAdCalc = 38.4

没有评估

onlineAdCalc = homebox

2 个答案:

答案 0 :(得分:2)

使用parseFloat():

var onlineAdCalc =parseFloat($('#onlineAdSection').val())+parseFloat($('#onlineAdSize').val());

答案 1 :(得分:-1)

尝试使用哈希来存储输出:

var adHash = [];
adHash['homepagebigbox'] = 38.4;
var lookup_string = $('#onlineAdSection').val() + $('#onlineAdSize').val()

adHash[lookup_string]
=> 38.4