jquery - 如何使用jquery将具有多行的表中的设置输入值设置为兄弟文本?
问题描述
我有一个看起来像这样的表,其中包含更多列(数量取决于上下文)。
$('.action-checkbox').val(
$(this).parent().parent().find(".col-record_id").first().text().trim()
)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tbody>
<tr>
<td>
<input type="checkbox" name="rowid" class="action-checkbox">
</td>
<td class="col-record_id">
10
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="rowid" class="action-checkbox">
</td>
<td class="col-record_id">
14
</td>
</tr>
</tbody>
但这会设置一个空值。
我究竟做错了什么?
提前致谢。
解决方案
您需要传递一个回调函数来.val()
为它分配一个值,返回一个值。像这样:
$('.action-checkbox').val(function() {
return $(this).parent().next().text().trim()
})
或者这个使用.each()
$('.action-checkbox').each(function() {
$(this).val($(this).parent().next().text().trim())
})
$('.action-checkbox').val(function() {
return $(this).parent().next().text().trim()
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>
<input type="checkbox" name="rowid" class="action-checkbox">
</td>
<td class="col-record_id">
10
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="rowid" class="action-checkbox">
</td>
<td class="col-record_id">
14
</td>
</tr>
</table>
推荐阅读
- scheme - 如何评估包含绑定在闭包中的符号的列表?
- python - 有没有办法使用 python shell 进行处理?
- javascript - React-Redux firebase 电子邮件地址格式错误
- python - 将函数应用于数据框列
- docker - 我可以在 Docker 网络上为容器使用什么名称(如果可能)?
- c# - 标准表达式中的数据类型不匹配 - 最近才开始
- glsl - 不能在 WebGL GLSL 着色器常量#if 表达式中使用浮点数?
- c++ - “错误 LNK2001:无法解析的外部符号 _main”仍然存在
- sql - 根据当前行获取第一个
- python - 如何跳过在 for 循环中的多个页面中不存在的抓取标签?