我正在使用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());
});