У меня есть 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
строке флажка, для которых мы будем искать в DOMtd
«родителя» выбранного флажка, а затем найдем другиеtd
соседние:Модификация для получения выбранных значений в виде строки, разделенной пробелами:
Модификация (снова), чтобы получить одну строку со всеми выбранными значениями:
С вашим кодом как таковым сначала он ничего не покажет, я полагаю, вы делаете это с помощью функции, единственное, что модифицирует ваш код, это файл
alert
.Я объясню, что он делает. Элемент
this
соответствуетcheck
выбранному:Теперь, поскольку вы находитесь в элементе, у которого, так сказать, нет братьев и сестер, вам придется подняться на уровень выше с
parent()
Теперь у нас есть одноуровневые элементы с родителем выбранного элемента, здесь мы по-прежнему не можем получить доступ к одноуровневым элементам, поэтому нам придется подняться на другой родительский уровень.
После
parent()
вы должны искать элемент с.find('td')
На этом уровне мы уже можем получить доступ ко всем элементам
<td>
, к которым мы можем получить доступ с помощью.eq(0)
,.eq(1)
, и т. д. доhtml()