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");
});