1

jQueryスクリプトでphpからのデータベース検索の結果を乗算するのに問題があります。データベースの double 型である 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 に答える