使用jQuery parseFloat时价格值会被截断

时间:2012-03-02 13:39:48

标签: javascript jquery parsefloat

代码从名为'#orginalAddon'的隐藏输入字段获取价格值,然后将任何其他插件的成本添加到此值,并将结果显示给用户。 问题是如果'#orginalAddon'值超过1,000,'#addonPrice'中计算的总输出似乎会被截断。

代码如下:

$( ".add_div" ).click(function(){
                $('#addons_loader').html('<div id="resloading"><img src="<?=BASE_URL?>/img/ajax-loader.gif" /></div>');

                var id = $( this ).attr('rel');
                $('#AddOnAddForm input#AddOnId').attr('value',id);

                /* load addon into addons li (session) */
                $.getJSON('<?=BASE_URL?>/res/addons_add/'+id, function(data) {

                    $('#addons_ajax').html('');
                    $('#addons_loader').html('');

                    var items = [];
                    var totalprice = 0;

                    // Generate elements for right side grey box listing addons 
                    $.each(data, function(key, obj) {
                        items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>');
                        totalprice += parseFloat(obj.price);
                    });

                    $('<ul/>', {
                        'id': 'addons_list',
                        html: items.join('')
                    }).appendTo('#addons_ajax');

                    $("#addonPrice").html(parseFloat($("#orginalAddon").val()) + totalprice);

                });

任何建议表示赞赏......

1 个答案:

答案 0 :(得分:3)

如果你把逗号分开数千,请将其删除

e.g:

parseFloat(obj.price.replace(/,/g,''));

编辑:

输入内容:

parseFloat($("#orginalAddon").val().replace(/,/g,''))