我正在尝试获取input textbox
的值并将值插入同一行中的td。
这是我的HTML代码:
<table class="test">
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Fish</td><td class="z">Chicken</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Cricket</td><td class="z">Tenis</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Watch</td><td class="z">Hat</td></tr>
</table>
这是我的jQuery代码:
$('.testinp').keypress(function(e){
if(e.which == 13){
var val = $(this).val();
$(this).find('td').closest('.z').html(val);
}
});
现在我收到了值,但无法将其插入到td中。
答案 0 :(得分:2)
.find()
在selector
的后代中查找input
,而不是父母。所以你需要使用$(this).closest('td')
。
然后,您可以像这样使用.siblings()
:
$(this).closest('td').siblings('td.z').text(val);
或
获取最近的tr
,然后找td
个z
类:
$(this).closest('tr').find('td.z').text(val);
答案 1 :(得分:1)
您可以使用siblings()
查找“z”
$('.testinp').keypress(function(e){
if(e.which == 13){
var val = $(this).val();
$(this).closest('td').siblings('td.z').text(val);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="test">
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Fish</td><td class="z">Chicken</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Cricket</td><td class="z">Tenis</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Watch</td><td class="z">Hat</td></tr>
</table>
答案 2 :(得分:1)
在这里,您可以再使用一个解决方案
$('.testinp').keypress(function(e){
if(e.which == 13){
var val = $(this).val();
$(this).closest('tr').find('td.z').text(val);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="test">
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Fish</td><td class="z">Chicken</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Cricket</td><td class="z">Tenis</td></tr>
<tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Watch</td><td class="z">Hat</td></tr>
</table>
使用tr
和查找closest
td with class z
希望这会对你有所帮助。
答案 3 :(得分:-1)
尝试以下方法:
1
.find不会在DOM中出现,它会下降。因此,您将找不到输入字段下的任何td。
编辑:对不起,忘了删除。点。我复制并编辑了你的方法,当然应该说.next(“td”)。
答案 4 :(得分:-1)
试试这个
$('.testinp').keypress(function(e){
if(e.which == 13){
var val = $(this).val();
$(this).parent().parent().find('td').closest('.z').html(val);
}
});