我有
<table class="prodtable">
<tr>
<td></td>
<td>
<input class="editok" value="2" />
</td>
<td>
<input name="prodnumber" value="1" />
<i></i>
</td>
</tr>
</table>
还有这个js
$('.prodtable').on('blur','.editok',function(){
var neuanzahl = $(this).val();
$(this).parent('td').text(neuanzahl);//<-- till here works fine
$(this).parent('td').next().find('input').val(neuanzahl);//<-- from here, failure
$(this).parent('td').next().find('i').addClass('icon-pencil');
});
editok
输入是动态插入的,这就是我从父表设置处理程序的原因。
我的问题是,在模糊事件中,给定输入的值应该放入下一个输入中,该输入位于下一个 td
内。姓名 prodnumger
和 <i>
应该得到类(class) icon-pencil
。
我现在已经尝试了 1 个小时,真遗憾……没有一次成功。我在这里做错了什么?
最佳答案
这一行
$(this).parent('td').text(neuanzahl);
替换 TD 中的所有内容,就像 text()
所做的那样,它会覆盖所有内容,因此当您这样做时在下一行
$(this).parent('td').next().find('input') ...
没有this
,你只是用text()
删除了它
仅链接而不是使用多行将保留引用
$('.prodtable').on('blur','.editok',function(){
var neuanzahl = this.value;
$(this).parent('td')
.text(neuanzahl)
.next('td')
.find('input')
.val(neuanzahl)
.next('i')
.addClass('icon-pencil');
});
关于javascript - Jquery next() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25161528/