我正在使用editableGrid表,并且需要将<td>元素的编辑内容复制到隐藏的<input>中。

我正在尝试通过jQuery .text()方法获取那些,但是它会在更改前返回值。当我再次编辑<td>时,它返回以前输入的文本等。
简单的例子:

<table id="htmlgrid" class="testgrid">
<tr id="0">
    <td>Fridge 123</td>
    <input type="hidden" name="[0][name]" value="Fridge 123">
    <td>7.000 CZK</td>
    <input type="hidden" name="[0][price]" value="7000">
</tr>
</table>


现在,我要做的是将名称“ Fridge 123”更改为“ Fridge 456”,并将此新名称复制到输入中:<input type="hidden" name="[0][name]" value="Fridge 456">

使用此jQuery代码

$("#htmlgrid td").change(function() {
    console.log($(this).text());
});


我得到的值为Fridge 123,这是错误的。如何获得新输入的值?

最佳答案

query documentation开始,change事件仅限于<input>元素,<textarea>框和<select>元素。

尝试类似

$("#htmlgrid td").bind("DOMSubtreeModified",function(){
  console.log($(this).text());
});


要么

$("#htmlgrid td").on("change",'input',function(){
  console.log($(this).val());
});

09-27 06:25