Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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 html中keypress/keydown/keyup事件的计算_Php_Javascript_Jquery_Asp.net_Event Handling - Fatal编程技术网

Php html中keypress/keydown/keyup事件的计算

Php html中keypress/keydown/keyup事件的计算,php,javascript,jquery,asp.net,event-handling,Php,Javascript,Jquery,Asp.net,Event Handling,我在表单上有25行,供用户在java脚本中输入项目代码(输入标记)和项目数量(输入标记),计算项目数量的值,并以金额(输入标记)显示它们 在onKeypress/up/down中触发的事件如下 function qtycal() { for (i = 1; i <= 25; i++) { var quantity_j = document.getElementById("quantity_" + i); var price_j = documen

我在表单上有25行,供用户在java脚本中输入项目代码(输入标记)和项目数量(输入标记),计算项目数量的值,并以金额(输入标记)显示它们
在onKeypress/up/down中触发的事件如下

function qtycal() {

    for (i = 1; i <= 25; i++) {

        var quantity_j = document.getElementById("quantity_" + i);
        var price_j = document.getElementById("price_" + i);
        var amount_j = document.getElementById("amount_" + i);

        amount_j.value = price_j.value * quantity_j.value;


    } // end of for
函数qtycal(){
对于(i=1;i

好的,您必须将函数绑定到keyup以获得实际值


如果这不起作用,您可以使用setTimeout(“qtycal”,100)对函数进行一点延迟。您的用户不会注意到这一点,这将使您的计算正常。

看起来您的计算很好,但amount_j不是DOM值的参考,因此请尝试以下操作:

var quantity_j = document.getElementById("quantity_" + i).value;
var price_j = document.getElementById("price_" + i).value;
var amount_j = document.getElementById("amount_" + i).value;

amount_j = price_j * quantity_j;

document.getElementById("amount_" + i).value=amount_j;
/@请参见http://jsfiddle.net/scafa/GFsPY/
$(文档).ready(函数(){
//创建一些示例数据行
var tb=$(“”);

对于(var i=1;我认为OP没有键控keydown@user20232359723568423357842364为什么您的用户名>int64@user20232359723568423357842364html代码粘贴了看。@Atif Mohammed Ameenuddin-idk..问chuck Norris也亲爱的告诉我var quantity_j=document.getElementById(“quantity_”+i)之间的区别是什么然后访问quantity_j和var quantity_j=document.getElementById(“quantity_”+i).value并访问它quantity_j.:-)请关注problem@WaleedEhsan这对于计算来说并不重要,当你关心的只是值的时候,抓取对象看起来很奇怪。所以我现在很困惑。你是否试图让id为“amount”的输入标记的.value属性根据相应的“price”和“quantity”的.value属性进行更新?或者问题是您的代码根本就没有运行(即,如果您在函数中添加了警报(“Hello”);它是否会显示)?
var quantity_j = document.getElementById("quantity_" + i).value;
var price_j = document.getElementById("price_" + i).value;
var amount_j = document.getElementById("amount_" + i).value;

amount_j = price_j * quantity_j;

document.getElementById("amount_" + i).value=amount_j;
// @see http://jsfiddle.net/scafa/GFsPY/

$(document).ready(function(){
  // creating some sample data rows
  var tb = $("<tbody>");
  for(var i=1;i<=10;i++){
    var row = $("<tr>");
    row.append($("<td>").html(i));
    row.append($("<td>").html("A"+i));
     row.append($("<td>").html($("<input>").attr("size",8).val(Math.round(Math.random()*10))));    
     row.append($("<td>").html($("<input>").attr("size",8).val(Math.round(Math.random()*100))));    
     row.append($("<td>").append($("<input>")));
     tb.append(row);   
  }
  $("table").append(tb);

  // calculating
  $("table input").bind("blur", function(){
    var total = 0;
    $.each($("table tbody tr"), function(i, r){
      var fields = $(r).find("input");
      $(fields[2]).val($(fields[0]).val() * $(fields[1]).val());
      total += parseInt($(fields[2]).val());
    });
    $(".total").val(total);
  });

});