html中的JS值未正确显示

时间:2013-06-18 07:06:55

标签: javascript html

我有一个JavaScript的特定问题。当我将值打印到控制台时,它显示一切正常。但是在html中它显示旧值,直到我选择另一个项目而不是刷新第一个项目。以下是js和html代码:

HTML

onmouseover="OrderItem.setTotalPrice(event,this,'{{ menu_item.id }}')"

JS

setTotalPrice:function(event,a_htmlCaller, a_iMenuItemID){      

    item_total = OrderItem.Topping._order_toppings.find(function(a_oOTopp){
            return parseInt(a_oOTopp.iid) == parseInt(a_iMenuItemID);}.bind(this));

    var total_price = 0.00;
    var base_price = parseFloat($('pz-mitem-p-'+a_iMenuItemID).value);          
    var _html = '<div class="tot-price-item"><b>Item Price</b>: ';

    if(item_total){         
        // go into item details but with no changes     
        if(item_total.toppings.tot_price.length == 1 && item_total.toppings.tot_price[0].length == 0){                                      
            total_price += base_price;
            _html += '' + total_price;      
        }else{                          
            for(var i=0; i < item_total.toppings.tot_price.length; i++){

            //  total_price += parseFloat(item_total.toppings.tot_price[i][0]); 
                _html += '<div>' + (parseFloat(item_total.toppings.tot_price[i][0]).toFixed(2)).toString() + '</div>';          


            }               
        }       

    }else{          
        total_price += base_price;
        _html += '' + total_price;  
    }
    _html += '</div>';      



    Tips.add(
        a_htmlCaller, 
        event,                              
        _html,
        {
            className:'rounded',
            stem: true, 
            tipJoint: [ 'left', 'middle' ], 
            target:a_htmlCaller,    
            targetJoint: null//[ 'right', 'right' ]
        }
    );          

},      

编辑:添加了Asker在评论中提供的代码。添加了格式。

提示:不要在评论中发布代码,而是将其作为原始问题的编辑发布,因为它使阅读更容易,而不是在完全没有格式化的评论中出现大问题。

for(var i=0; i < item_total.toppings.tot_price.length; i++) { 
    //total_price += parseFloat(item_total.toppings.tot_price[i][0]);
    _html += '<div>' + (parseFloat(item_total.toppings.tot_price[i][0]).toFixed(2)).toString() + '</div>';
    test = parseFloat(item_total.toppings.tot_price[i][0]).toFixed(2);
    console.log(test);
}

1 个答案:

答案 0 :(得分:0)

它不允许我添加评论,所以我被迫在这里发帖。

无论如何,我建议你看看this

祝你好运!

(我需要更多代码才能得到明确答案)