我有一个表格,每行都有一个复选框输入。当href =“#”class =“up”或点击href =“#”class =“down”时,我想将此输入的所有值(有序)放入var列表中(向上移动一行或向下)。
总之,我想知道如何在整个表中调用“checkbox input”的dom元素“value”。
表:
<table>
//first row
<tr>
<td><a href="/ezmapping/layer/edit/1">ra_general.shp, burton449</a></td>
<td><label for="id_layers_0"><input checked="checked" type="checkbox" id="id_layers_0" value="1" name="layers"/></label></td>
<td><a href="/ezmapping/map/super/LayerStyle/1">Style</a></td>
<td>
<a href="#" class="up"><img src="/static/main/img/arrow_up.png"></a>
<a href="#" class="down"><img src="/static/main/img/arrow_down.png"></a>
</td>
</tr>
.
.
.
</table>
jquery(上下移动行)
$(document).ready(function(){
$(".up,.down").click(function(){
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
});
});
答案 0 :(得分:1)
尝试
$(document).ready(function(){
$(".up,.down").click(function(){
var row = $(this).parents("tr:first");
if ($(this).is(".up")) {
row.insertBefore(row.prev());
} else {
row.insertAfter(row.next());
}
var list = [];
$('input[name="layers"]').each(function(index, value) {
list.push(value);
});
console.log(list);
});
});
答案 1 :(得分:1)
var checks = new Array();
$(this).parents("table").find("input:checkbox").each(function() {
checks.push($(this).is(":checked"));
});
这会将所有复选框值收集到一个数组中。您可以在重新订购之前或之后放置它。