JavaScript拆分由下划线分隔的值并计算总和

JavaScript拆分由下划线分隔的值并计算总和,javascript,Javascript,我使用了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.getElemen

我使用了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);
}

试试这个

改变

Number()


试试这个

改变

Number()

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

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

我遵循了你的建议。成功了!但奇怪的是,如果我首先选择“膳食类型”id输入(multiselect),现在它通过了正确的计算。如果我选择#房间类型#id或#床类型#id下拉列表,它会给出一个NaN。我遵循了你的建议。成功了!但奇怪的是,如果我首先选择“膳食类型”id输入(multiselect),现在它通过了正确的计算。如果我选择#房间类型#id或#床类型#id下拉列表,它会给出一个NaN。