2017-09-22 2 views
0

Ich habe eine HTML-Tabelle mit einem Kontrollkästchen in jeder Zeile. Ich möchte die Tabelle durchlaufen und wenn es Kontrollkästchen aktiviert sind. Ich muss eine neue Tabelle mit Zeilen von nur markierten Kontrollkästchen erstellen.Erstellen Sie eine neue Tabelle mit Zeilen nur Kontrollkästchen aktiviert

Alle Ratschläge werden geschätzt! Ich weiß, wie man durch den Tisch geht. Aber wie speichert man HTML-Code dieser Zeile in der Variablen?

$('table tbody tr').each(function() { 
    var $tr = $(this); 
    if ($tr.find('input[type="checkbox"]').is(':checked')) { 

    } 
}); 

Was ich versuche zu tun ist, neue Tabelle zu einer neuen Seite zu senden.

function toView(){ 
    var newWindow = window.open();  
    var newHTML = '<html><head></head><body><table>'; 
    var endHtml = '</table></body></html>'; 


    $('table tbody tr').each(function() { 
     var $tr = $(this); 
     if ($tr.find('input[type="checkbox"]').is(':checked')) { 

      // what suppose to be here.... 

     } 
     }); 
    newHTML = new_table + endHtml 
    newWindow.document.write(newHTML); 
} 

Antwort

0

Ich fand die Art und Weise!

function toView(){ 
    var newWindow = window.open();  
    var HTML_head = '<html><head></head><body><table>'; 
    var HTML_footer = '</table></body></html>'; 
    var new_HTML_page = ""; 
    var new_table = ""; 
    var html = ""; 

    $('table tbody tr input[type=checkbox]:checked').each(function() { 
     html = $(this).closest("tr").clone().find('tr:last').remove().end().prop('outerHTML'); 
     new_table += html;  
    });   
    newHTML = HTML_head + new_table + HTML_footer; 
    newWindow.document.write(newHTML); 
} 
0

Sie haben es fast, wenn Sie eine Tabelle mit conents erstellen möchten:

$(function() { 
    var newWindow = $('#window'); 
    $('table tbody tr input[type=checkbox]:checked').each(function() { 
     var $tr = $(this).parents('tr'); 
     var $new_table = $('<table>').append($tr); 
     newWindow.append($new_table); 
    }); 
}); 

Test it here

+0

Sorry, aber es gibt nur [Objekt Objekt] zurück. Hier ist meine volle Funktion: \t Funktion toView() { \t \t var newWindow = window.open(); \t \t \t \t var newHTML = '

'; \t \t var endHtml = '
'; \t \t var $ new_table = "" \t \t \t \t $ ('table tbody tr input [type = Checkbox]: checked'), die jeweils (function() { \t \t var $ tr_contents = $ (this).. Eltern ('tr'); \t \t $ new_table = $ ('') .html ($ tr_contents); \t \t}); \t \t \t newHTML = $ neue_tabelle + endHtml \t \t newWindow.document.write (newHTML); \t} –

+0

... newHTML = $ neue_tabelle.html() + endHtml; neuesWindow.document.write (newHTML); sollte funktionieren – vnt

+0

Es dauert die Zeile mit nur zuletzt Kontrollkästchen aktiviert. Und gibt nur Werte von Zellen zurück, es gibt keine

und
Tags. Und das entfernt Zeilen von der aktuellen Seite. –

Verwandte Themen