-3

我有一个表格,每行都有一个复选框输入。当单击 href="#" class="up" 或 href="#" class="down" 时(向上移动一行或向下)。

总之,我想知道如何在整个表格中调用“复选框输入”的dom元素“值”。

桌子:

            <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());
          }
      });
  });
4

2 回答 2

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);

      });
  });
于 2013-08-13T17:01:07.493 回答
1
var checks = new Array();
$(this).parents("table").find("input:checkbox").each(function() {
  checks.push($(this).is(":checked"));
});

这会将所有复选框值收集到一个数组中。您可以在重新订购之前或之后放置它。

JSFiddle 演示

于 2013-08-13T17:02:01.027 回答