对于下面的代码,单击该按钮时,它应该更新文本的名称。即hisally,hellosally,supsally, 但相反,当前是热门的,听起来很神奇。 我想知道是否有任何方法更新名称,同时保持文本hi,hellop和sup。 非常感谢
$(".ok").on('click', function() {
var set = $(this).closest('tr').find('.done').val();
if (set) {
$(this).closest('tr').find('.text').each(function() {
$(this).val($(this).attr("data-value") + set);
})
}
});

<table>
<tr>
<td>
<input type="button" value="ok" class="ok"></td>
<td>done<input type="text" value="sally" class="done" \> </td>
<td>text1<textarea class="text" data-value="hitom">hitom</textarea> </td>
<td>text2<textarea class="text" data-value="hellotom">hellotom</textarea> </td>
<td>text3<textarea class="text" data-value="suptom">suptom</textarea> </td>
</tr>
</table>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
&#13;
答案 0 :(得分:2)
您需要将data-value
更改为您希望添加到textarea
$(".ok").on('click', function() {
var set = $(this).closest('tr').find('.done').val();
if (set) {
$(this).closest('tr').find('.text').each(function() {
$(this).val($(this).attr("data-value") + set);
})
}
});
&#13;
<table>
<tr>
<td>
<input type="button" value="ok" class="ok"></td>
<td>done<input type="text" value="sally" class="done" \> </td>
<td>text1<textarea class="text" data-value="hi">hitom</textarea> </td>
<td>text2<textarea class="text" data-value="hello">hellotom</textarea> </td>
<td>text3<textarea class="text" data-value="sup">suptom</textarea> </td>
</tr>
</table>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
&#13;
答案 1 :(得分:1)
data-value
包含textareas的错误值,您实际上是将文本框的值连接到它们。更正data-value
属性中的值,您将完成!
$(".ok").on('click', function() {
var set = $(this).closest('tr').find('.done').val();
if (set) {
$(this).closest('tr').find('.text').each(function() {
$(this).val($(this).attr("data-value") + set);
})
}
});
&#13;
<table>
<tr>
<td>
<input type="button" value="ok" class="ok"></td>
<td>done<input type="text" value="sally" class="done" \> </td>
<td>text1<textarea class="text" data-value="hi">hitom</textarea> </td>
<td>text2<textarea class="text" data-value="hello">hellotom</textarea> </td>
<td>text3<textarea class="text" data-value="sup">suptom</textarea> </td>
</tr>
</table>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
&#13;
答案 2 :(得分:1)
我正在删除&#39; tom&#39;从每个字符串。
$(".ok").on('click', function() {
var set = $(this).closest('tr').find('.done').val();
if (set) {
$(this).closest('tr').find('.text').each(function() {
$(this).val($(this).attr("data-value").replace(/tom/g,"")+set);
})
}
});
&#13;
<table>
<tr>
<td>
<input type="button" value="ok" class="ok"></td>
<td>done<input type="text" value="sally" class="done" \> </td>
<td>text1<textarea class="text" data-value="hitom">hitom</textarea> </td>
<td>text2<textarea class="text" data-value="hellotom">hellotom</textarea> </td>
<td>text3<textarea class="text" data-value="suptom">suptom</textarea> </td>
</tr>
</table>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
&#13;