Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 在事件jQuery上选择目标div(行)中的元素_Javascript_Jquery_Jquery Selectors - Fatal编程技术网

Javascript 在事件jQuery上选择目标div(行)中的元素

Javascript 在事件jQuery上选择目标div(行)中的元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有一个表,在同一行中完成事件后,我需要从中选择该行的所有值。在本例中,该行是带有jQuery的keyup事件。表可以有许多行,但选择必须在行事件的项目上 这是表格的HTML: 在网站上看起来是这样的: 了解更多内容:我正在制作一个报价应用程序,在该应用程序中,我将在每一行中键入每一项的价格和数量,并且我需要在每次键入后更新“金额”列。因此,我需要知道如何选择键入行的适当数量、价格、折扣和金额id来执行此操作。首先,id属性是唯一的,因此您应该用如下类替换它 <input type=&qu

我有一个表,在同一行中完成事件后,我需要从中选择该行的所有值。在本例中,该行是带有jQuery的keyup事件。表可以有许多行,但选择必须在行事件的项目上

这是表格的HTML:

在网站上看起来是这样的:

了解更多内容:我正在制作一个报价应用程序,在该应用程序中,我将在每一行中键入每一项的价格和数量,并且我需要在每次键入后更新“金额”列。因此,我需要知道如何选择键入行的适当数量、价格、折扣和金额id来执行此操作。

首先,id属性是唯一的,因此您应该用如下类替换它

<input type="number" class="form-control qty"  placeholder="Qty" min="0" step="1">
$.qty列、.price-column.onkeyup、函数{ var tr=$this.closesttr; 每行更新数量; }; 函数updateAmount_per_rowtr{ var qTy=getValue_by_classNametr,'.qTy列.qTy'; var price=getValue_by_classNametr'.price column.price'; var金额=数量*价格; tr.find'.amount列'.htmlamount; } 函数getValue_by_classNametr,className{ var value=parseInttr.findclassName.val,10; 返回值>=0?值:1; } 描述 数量 价格 折扣 数量 隐藏的 1. 产品A 产品B % 2. 产品A 产品B % 使用answer作为测试,我通过使用target属性而不是this使其工作,因为出于某种原因,这引用了整个文档

以下是keyup事件侦听器:

  $('.price, .qty, .discount').keyup((event) => {
    let tr = event.target.closest('tr');
    updateAmount(tr);
  });
这是最后一个updateAmount函数:

function updateAmount(tr) {
  let qty = $(tr).find('.qty').val();
  let price = $(tr).find('.price').val();
  let discount = $(tr).find('.discount').val();

  let amount = (qty * price * (100 - discount)) / 100;

  $(tr).find('.amount').html(amount);
}

$this.closesttr?您不应该在每行重复ID。改用类$这个是.closesttr.find。qty@BarmarOP正在使用id,所以我们无法通过类名@MaiPhuong找到它。我知道,我告诉过他改为类。@Carlos Gonzalez这能回答你的问题吗?别忘了投我一票,然后点击勾号将我的答案标记为已解决,以便将来帮助读者,兄弟^ ^!我似乎不能这样做。在我做了console.logthis之后,我发现它引用了整个文档。正因为如此,其他任何东西似乎都无法找到最接近的“tr”和其他任何东西。
  $('.price, .qty, .discount').keyup((event) => {
    let tr = event.target.closest('tr');
    updateAmount(tr);
  });
function updateAmount(tr) {
  let qty = $(tr).find('.qty').val();
  let price = $(tr).find('.price').val();
  let discount = $(tr).find('.discount').val();

  let amount = (qty * price * (100 - discount)) / 100;

  $(tr).find('.amount').html(amount);
}