0

コードは「#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);

                });

アドバイスをいただければ幸いです...

4

1 に答える 1

3

数千を区切るためにコンマを入れる場合は、それを削除してください

例えば:

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

編集:

あなたの入力のために:

parseFloat($("#orginalAddon").val().replace(/,/g,''))
于 2012-03-02T13:44:24.667 に答える