我有一个 html 表并在每条记录中放置一个复选框。我怎么能这样做,当我使用复选框选择一些记录时,我会获取该行的数据以通过表单发送它们?
$(document).ready(function(){
$("input[type=checkbox]:checked").each(function(){
//cada elemento seleccionado
alert($(this).val());
});
});
<html>
<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>
</head>
<body>
<form id="formulario" name="formulario" action="">
<table>
<tr>
<td><input type="checkbox" name="elemento1" value="1"/></td>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento2" value="2"/></td>
<td>ddd</td>
<td>eee</td>
<td>fff</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento3" value="3"/></td>
<td>ggg</td>
<td>hhh</td>
<td>iii</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento4" value="4"/></td>
<td>jjj</td>
<td>kkk</td>
<td>lll</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento5" value="5"/></td>
<td>mmm</td>
<td>nnn</td>
<td>ooo</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento6" value="6"/></td>
<td>ppp</td>
<td>qqq</td>
<td>rrr</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento7" value="7"/></td>
<td>sss</td>
<td>ttt</td>
<td>uuu</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento8" value="8"/></td>
<td>vvv</td>
<td>www</td>
<td>xxx</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento9" value="9"/></td>
<td>yyy</td>
<td>zzz</td>
<td>AAA</td>
</tr>
<tr>
<td><input type="checkbox" name="elemento10" value="10"/></td>
<td>BBB</td>
<td>CCC</td>
<td>DDD</td>
</tr>
</table>
<input type="submit" value="seleccionar" onclick=""/>
</form>
</body>
</html>
在前面的例子中,我只得到了校验值而不是整行,我该怎么办?
我假设您要获取的值是每个
td
复选框行中的文本,为此我们将在 DOM 中搜索td
所选复选框的“父级”,然后找到其他td
相邻的:修改获取选中的值作为字符串,用空格分隔:
修改(再次),以获取具有所有选定值的单个字符串:
使用您的代码,起初它不会显示任何内容,我想您使用函数执行此操作,唯一修改代码的是
alert
.我将解释它的作用,该元素
this
对应于check
选定的元素:现在,既然你在一个没有兄弟姐妹的元素中,可以这么说,你将不得不提升一个级别
parent()
现在我们与所选元素的父级有兄弟姐妹,在这里我们仍然无法访问兄弟姐妹,所以我们将不得不上升另一个父级
之后
parent()
你应该寻找元素.find('td')
在这个级别,我们已经可以访问所有
<td>
可以使用.eq(0)
,.eq(1)
等访问的元素。之前html()