1

我在将 jQuery 脚本中 php 的数据库搜索结果相乘时遇到问题。我回应了 db 结果,它是数据库中的双重类型。所以只是一个数字,我希望它乘以一个数字和一个带数字的变量。

我尝试通过在 jQuery 输出中添加数字和变量来做到这一点,如下所示:

$.post('nutritional_value.php', {value:value}, function(data){
        $('#search_result2').html(data*uneseno*10);
        });

uneseno 和 10,是我希望它与之相乘的变量和数字。相反,我只是从数据库中获取直接值。

这是 .php 文件:

<?php

include 'connect.php';
$value = $_POST['value'];

$query = mysql_query("SELECT FAT FROM ccm WHERE NAME LIKE '$value%'");
while( $run = mysql_fetch_array($query)){

    $fat = $run['FAT'];

            echo $fat;
}

    ?>

这是脚本:

<script>
function funkcija() {
    var value = $('a').text();
    $('#hidden1').show();
    $('#jedinice_butt').click(function () {
        var odabrano = $("#dropdown option:selected").text();
        var uneseno = $("#input_jedinica").val();
        if (odabrano === "g") {
            $.post('nutritional_value.php', {
                value: value
            }, function (data) {

                $('#search_result2').html(data * uneseno * 10);
            });
        }
    });
}   
</script>

当我在输入字段中输入 uneseno 变量时,它是一个数字。控制台不显示任何错误或任何东西。

我错过了什么吗?

4

1 回答 1

1

问题在这里:

var uneseno = $("#input_jedinica").val();

val() 返回一个字符串...

解决方案:使用 parseFloat()

$.post('nutritional_value.php', {
            value: value
        }, function (data) {

            $('#search_result2').html(data * parseFloat(uneseno) * 10);
        });
于 2013-05-24T13:44:47.297 回答