可选和取消/全选按钮(jQuery)

时间:2016-07-03 06:02:38

标签: javascript jquery jquery-ui jquery-ui-selectable

我正在尝试取消/选择所有单击时取消/突出显示所有表格行的按钮。将ui选择的类添加到表中是相当直接的,但不能使它们可拖动。这是我的代码,演示了可选择/可拖动/可放置的功能:

https://jsfiddle.net/Unfixed/s7mtbn26/3/

我目前只有这个按钮。

$("#selectall").on('click', function(evt) {
    $("tr.selectable").each(function() {
            $(this).addClass("ui-selected");
        });
  evt.preventDefault();
});

    $("#unselectall").on('click', function(evt) {
    $("tr.selectable").each(function() {
            $(this).removeClass("ui-selected");
        });
  evt.preventDefault();
});

如何让这些按钮/链接选择所有表并允许可拖动/可放置功能?我是否必须将当前的.selectable()链分解为单独的函数并使用.on()来触发selectable()?

任何帮助表示感谢,谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个:

$("#selectall").on('click', function(evt) {
  $("tr.selectable").each(function() {
    $(this).addClass("ui-selected");
  });
  draggables();
  evt.preventDefault();
});

function draggables() {
  $("tr.ui-droppable").draggable('destroy');
  $("tr.ui-droppable").droppable("destroy");
  $("tr.ui-selected").draggable({
    helper: function() {
      var c = $("tr.ui-selected").length;
      var dom = [];
      dom.push("<div style=\"border:2px solid black;width:50px;height:20px;line-height:25px;\">",
        "<center>Files Selected: " + c + "</center></div>");
      return $(dom.join(''));
    },
    revert: 'invalid',
    appendTo: 'parent',
    containment: '#filemanager',
    axis: 'y',
    cursor: '-moz-grabbing'
  });
  $("tr.droppable").droppable({
    hoverClass: "ui-state-active"
  });
}

查看更新的小提琴: https://jsfiddle.net/ersamrow/s7mtbn26/6/