2016-07-03 18 views
0

Ich versuche, alle Schaltflächen zu deaktivieren, die beim Klicken alle Tabellenzeilen entfernen/hervorheben. Es ist ziemlich einfach, die ui-selected-Klasse der Tabelle hinzuzufügen, sie jedoch nicht ziehbar zu machen. Hier ist mein Code, der die auswählbaren/ziehbar/abwerfbaren Funktionalität demonstriert:Auswählbar und un/Alle auswählen (jQuery)

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

ich zur Zeit nur diese für die Tasten haben.

$("#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(); 
}); 

Wie würde ich diese Tasten/Links machen gehen über alle Tabellen auswählen und erlauben die ziehbar/abwerfbaren Funktionalität zu arbeiten? Müsste ich meine aktuelle .selectable() - Kette in separate Funktionen aufteilen und .on() verwenden, um auswählbares() auszulösen?

Jede Hilfe geschätzt, danke!

Antwort

0

Versuchen Sie dieses:

$("#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" 
    }); 
} 

aktualisiert Geige Siehe: https://jsfiddle.net/ersamrow/s7mtbn26/6/

+0

Danke :). Am Ende musste ich alles in Funktionen aufteilen, damit mein voller Code richtig funktioniert. Wenn jemand anders etwas Ähnliches machen möchte, ist nicht der Link Alle auswählen in der aktuellen Geige defekt, da er nicht draggable ("destroy") hat; Sobald hinzugefügt, funktioniert alles wie erwartet. Danke noch einmal! – Stacked

+0

Es ist eine benutzerdefinierte Funktion, bitte in Geige zu sehen. –