Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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 表td的onchange事件?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 表td的onchange事件?

Javascript 表td的onchange事件?,javascript,jquery,html,Javascript,Jquery,Html,我想在更改表单元格的数据时触发一个事件 //表生成代码 <table id=custorder2 > <head> <tr> <td>change it</td> </tr> </head> <tbody> <tr> <td>1</td> </tr> </tbody> </table> 在更改单元格值时,应打印此调用。您可以尝试

我想在更改表单元格的数据时触发一个事件

//表生成代码

<table id=custorder2 > <head> <tr> <td>change it</td> </tr> </head> <tbody> <tr> <td>1</td> </tr> </tbody> </table>

在更改单元格值时,应打印此调用。

您可以尝试使用事件,如
domsubtreeded
DOMNodeInserted
DOMNodeRemoved
或它们的组合

$('#customorder2 tr td')。在(“domsubtredemodified”,function()上{
警报(“更改”);
});
$('button')。在('click',function()上{
$('#customorder2 tr td').text(this.id);
});

改变它1
变化1

更改2
如果您正在考虑对单元格进行标准编辑,那么我想建议一种替代方案

<script language="javascript">
function dotest(element,event)
{
    //GET THE CONTENT as TEXT ONLY, you may use innerHTML as required
   alert("content " + element.textContent)

 }
</script>
<table cellpadding="2" cellspacing="0" border="1" width="100%"> 
  <tr>
<td contenteditable="true" onkeyup="javascript:dotest(this,event);">

    Testing
</td>
 </tr>
</table>

函数dotest(元素、事件)
{
//仅以文本形式获取内容,您可以根据需要使用innerHTML
警报(“内容”+元素.textContent)
}
测试
依赖html5属性和按键(在单元格可以直接编辑的场景中)


希望您觉得它有用,顺便说一句,更改事件在tr或td上不起作用,但是如果您想尝试,您可以阅读下面的代码

在您的代码中,我猜目标未被识别,因此请尝试执行以下操作:

$("#custorder > tr > td").change(function(){
});
而不是(“#customorder tr td”).change(function(){})

HTML:

<table id=custorder2 >
<head> 
   <tr> 
      <td>change it</td> 
   </tr> 
</head>          
<tbody> 
   <tr> 
      <td>1</td> 
   </tr> 
</tbody> 
</table>

您可以使用
input
listener

$(文档).on('input','#table>tbody>tr>td',function(){


td不是一个值可以更改的输入元素?您的意思是通过编程方式更改吗?是的,更改不适用于td或trget-value-of-td-by-document.getElementById(“td_-id”).textcontents如果表是动态创建的,它可能会重复。它会工作吗。即使您的表是动态创建的,那么我也不认为它会工作。这对我不起作用,但是使用
$(“#customorder2”).bind(“domsubtreemeding”,function(){})时会有类似的情况。
<table id=custorder2 >
<head> 
   <tr> 
      <td>change it</td> 
   </tr> 
</head>          
<tbody> 
   <tr> 
      <td>1</td> 
   </tr> 
</tbody> 
</table>
$("#custorder > tr > td").change(function() {
     console.log("inside change event");
});