Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Javascript计算问题_Php_Javascript_Jquery - Fatal编程技术网

Php Javascript计算问题

Php Javascript计算问题,php,javascript,jquery,Php,Javascript,Jquery,我有这个功能,但我有问题 function calc(id) { var price = document.getElementById("hidden-output-"+id); var amount = document.getElementById("input-"+id); if(price.value=="") { price.value = 0; } if(b.value=="") { amount.value = 1; } var total = amount.value *

我有这个功能,但我有问题

function calc(id)
{
var price = document.getElementById("hidden-output-"+id);
var amount = document.getElementById("input-"+id);

if(price.value=="")
{
price.value = 0;
}
if(b.value=="")
{
amount.value = 1;
}

var total = amount.value * price.value;
document.getElementById("output-"+id).value=total;
}
它不起作用,我也不知道为什么我不熟悉javascript

这是HTML和PHP

<?php




foreach($category->fetch_category() as $data){

    $id = $data->id;

    echo"<tr>";
    echo"<td>";
    echo"<center>";
    echo"<input type=\"hidden\" value=\"$data->id\" />";
    echo"<p><strong>".$data->cat_name."</strong></p>";
    echo"</center>";
    echo"</td>";
    echo"<td>";
    echo"<center>";


    echo"<select>";
    foreach($products->fetch_products($id) as $product)
    {
        $price = $product->price;
    echo"<option value = $product->id onclick=\"UpdateRecord($product->id,$data->id)\">$product->p_name</option>";
    }
    echo"</select>";

    echo"</center>";
    echo"</td>";

    echo"<td>";
    echo"<center>";
    echo"<input class=\"input-mini\" id=input-$data->id onkeyup=\"calc($data->id)\" type=\"text\" value=\"1\"/>";
    echo"<input type=\"hidden\" id=\"$product->id\" value=\"$product->quantity\" />";
    echo"</center>";
    echo"</td>";
    $i = 0;
    foreach($products->fetch_products($id) as $pricer){
    if ($i==1) break;    

    echo"<td>";

    echo"<center>";
    echo("<div id=\"output-$data->id\" ><p>$pricer->price</p></div>");
    echo"<input type=\"hidden\" id=\"hidden-output-$data->id\" value=\"$pricer->price\"/>";
    echo"</center>";
    echo"</td>";
    $i++;
    }
    echo"</tr>";
}

?>
这是一个项目:

calc
函数中,什么是
b.value
。这不是
定义的
,这就是抛出错误且脚本未执行的原因

calc3
函数中。您需要修改以下行


if(isNaN(number))返回到<代码>编号=isNaN(编号)?0:number

选项没有onclick,在选择并读取值上使用onchange。这是两个不同的函数onclick=“UpdateRecord”not calc(),您在IE中测试过吗?我把它修好了没有变化。。。现在是如果(amount.value==“”)我将其更改为number=isNaN(number)?0:数字;同楠
<td>Total : <input class="span1" type="text" id="total_calc" readonly="true" /></td>
function calc3(id) {

   var price = document.getElementById('hidden-output-'+id);
   var numberField = document.getElementById('input-'+id);
   numberField.onkeyup = numberField.onpaste = function() {
      if(this.value.length == 0) {
         document.getElementById('output-'+id).innerHTML = '';
         return;
      }
      var number = parseInt(this.value);
      if(isNaN(number)) return;
      document.getElementById('output-'+id).innerHTML = number * price;
   };
   numberField.onkeyup(); 
};

// This one always return NaN
if(b.value=="")
{
  amount.value = 1;
}