NaN Javascript Jquery - PullRequest
       6

NaN Javascript Jquery

0 голосов
/ 14 октября 2018

Я получаю ответ с некоторыми значениями из базы данных, но когда я собираюсь подсчитать сумму, используя некоторые из этих значений, она выводит «NaN», пожалуйста, скажите мне, как я могу решить эту проблему.спасибо

    $.ajax({
        url:"{{ route('autocomplete.purchasetable') }}",
        method:"POST",
        data:{query:material, _token:_token},
        success:function(data){
        //console.log(data);
        data = JSON.parse(data);
        console.log(data);
        $.each(data, function(key, value) {
        console.log(value.id, value.unit_price);
        var matid = value.id;
        var unitprice = value.unit_price;
        var cost = unitprice * quantity;
        var tr = '<tr><td></td><td>'+matid+'</td> <td name="name"><input type="text" name="materialName" value="'+material+'"></td> <td name="sex"><input type="text" name="materialID" value="'+quantity+'"></td> <td name="tel"><input type="text" name="materialID" value="'+unitprice+'"></td> <td><input type="text" name="cost" value="'+cost.toFixed(2)+'"></td><td> <button type="button" name="add" id="delete-btn" class="btn btn-sm btn-rounded btn-danger delete-btn"><i class="far fa-trash-alt"></i></button></td></tr>';
        $('#item_table').append(tr);
        var total = total + unitprice * quantity;
        alert(total);


});
}
});

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

Значение итога всегда будет неопределенным.Так как вы пытаетесь использовать undefined в математических операциях, в результате вы получите NaN.Решением было бы объявить var total вне цикла for в обратном вызове ajax.И инициализировать его до 0.

0 голосов
/ 14 октября 2018

NaN означает «не число».Где-то вы пытаетесь использовать значение в качестве числа, где JavaScript не распознает его как число.Вы можете попробовать проанализировать его как число с помощью parseInt (), хотя, возможно, было бы лучше убедиться, что значения, которые вы пытаетесь использовать на практике, являются числовыми.

Было бы полезно узнать, что запрос ajax получает изсервер, так что мы можем увидеть, действительно ли есть какие-либо значения, которые не являются числовыми.

...