我无法在jQuery脚本中将数据库搜索结果与php相乘。 我回应了db结果,它是数据库中的double类型。所以只是一个数字,我希望它乘以一个数字和一个带数字的变量。
我尝试通过在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变量是一个数字。 控制台不会显示任何错误或任何错误。
我错过了什么吗?
答案 0 :(得分:1)
问题在于:
var uneseno = $("#input_jedinica").val();
val()返回一个字符串......
解决方案:使用parseFloat()
$.post('nutritional_value.php', {
value: value
}, function (data) {
$('#search_result2').html(data * parseFloat(uneseno) * 10);
});