Значение цены усекается при использовании jQuery parseFloat - PullRequest
0 голосов
/ 02 марта 2012

Код получает значение цены из скрытого поля ввода с именем '#orginalAddon', затем к этому значению добавляется стоимость любых дополнительных дополнений, и результат отображается для пользователя. Проблема в том, что вычисленный общий результат в «#addonPrice» выглядит усеченным, если значение «#orginalAddon» превышает 1000.

Код выглядит следующим образом:

$( ".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 Ответ

3 голосов
/ 02 марта 2012

Если вы ставите запятую для разделения тысяч, удалите ее

например:

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

edit:

для ввода:

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