使用Javascript变量从列表生成价格

pas*_*tgt 1 javascript jquery

我有几个变量:

var test1 = 1500;
var test2 = 500;
var test3 = 3000;
var test4 = 20000;
Run Code Online (Sandbox Code Playgroud)

我有一个像这样的另一个变量:

var list = 'test3,test1';
Run Code Online (Sandbox Code Playgroud)

这显然不是固定的,所以可以'test4,test1,test2'等等.

现在,我需要一个价格变量. test3+test1 = 4500

var price = '4500';
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做.这是我到目前为止:

var names = [];
$(':checkbox:checked').each(function() {
    names.push(this.name);
});
var list = names.join(',');
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

cdh*_*wie 6

您应该将变量更改为适当的对象:

var prices = {
    "test1": 1500,
    "test2": 500,
    "test3": 3000,
    "test4": 20000
}
Run Code Online (Sandbox Code Playgroud)

现在你可以像这样添加:

var price = 0;
$(':checkbox:checked').each(function() {
    price += prices[this.name];
});
// The price variable now contains the sum
Run Code Online (Sandbox Code Playgroud)