Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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计算选中复选框旁边的html值_Javascript_Jquery - Fatal编程技术网

Javascript jquery计算选中复选框旁边的html值

Javascript jquery计算选中复选框旁边的html值,javascript,jquery,Javascript,Jquery,我今天脑子不正常。你们谁能帮忙吗?=) 只需计算第二列中已检查的int值,并在总和中发出警报 <table width="100%"> <tr><td>Product Name</td><td>Price $</td></tr> <tr><td><input type="checkbox"> Product 1</td><td>200</t

我今天脑子不正常。你们谁能帮忙吗?=) 只需计算第二列中已检查的int值,并在总和中发出警报

<table width="100%">
  <tr><td>Product Name</td><td>Price $</td></tr>
  <tr><td><input type="checkbox"> Product 1</td><td>200</td></tr>
  <tr><td><input type="checkbox"> Product 2</td><td>300</td></tr>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
  $('input').change(function() {
    var sum = 0;
    $("input:checked").each(function(){
      sum += parseInt($("input:checked").closest('td').next().html());
    });
    alert(sum);
  });
</script>

产品名称价格$
产品1200
产品2300
$('input').change(函数(){
var总和=0;
$(“输入:选中”)。每个(函数(){
sum+=parseInt($(“输入:选中”).closest('td').next().html();
});
警报(总和);
});

谢谢。

看起来您应该在
中使用
$(this)
。each()
查找与循环中当前选中复选框最近的

  // Bind to all checkboxes...
  $('input[type="checkbox"]').change(function() {
    var sum = 0;
    $("input:checked").each(function(){
      // Use $(this) here
      sum += parseInt($(this).closest('td').next().html(), 10);
      // Always use the optional radix to parseInt() -----^^^^^
    });
    alert(sum);
  });
试试这个:

$('input:checkbox').change(function() {
    var sum = 0;
    $("input:checked").each(function() {
        sum += parseInt($(this).closest('td').next().text(), 10);
    });
    alert(sum);
});
您需要在所有复选框上侦听
更改
事件,而不仅仅是那些
:选中的
。另外,确保将
radix
参数传递给
parseInt
。最后,
将引用每个
函数中正在评估的项目


示例:

非常感谢!编程时我应该少喝点酒。是的,我想最好不喝或多喝。