1

我用过var.split("_"); 这里。我试图获得的值的示例是:2_25000

但是,下面的代码会产生一个 NaN 值。

function calculateTotal() {
    var room_type_id = document.getElementById('room_type_id').value;
    var room_type_cost = room_type_id.split("_");

    var meal_type_id = document.getElementById('meal_type_id').value;
    var meal_type_cost = meal_type_id.split("_");

    var bed_type_id = document.getElementById('bed_type_id').value;
    var bed_type_cost = bed_type_id.split("_");

    var ext_beds_id = document.getElementById('ext_beds_id').value;
    var reservation_duration = document.getElementById('reservation_duration').value;

    document.getElementById('total_amount').value = ( Number(room_type_cost[1]) + Number(meal_type_cost[1]) + Number(bed_type_cost[1]) + Number(ext_beds_id) ) * Number(reservation_duration);
}
4

2 回答 2

1

您可以使用 number() 函数或 parseInt() 函数,但请记住还要在 parseInt("23", 10) 中传递基数为 10 秒的参数,也可以使用前缀 + 符号将其转换为整数。即,+"23" + 2

于 2013-07-06T05:17:58.987 回答
0

试试这个…………

改变

Number()

parseInt()
于 2013-07-06T05:10:33.840 回答