Q:

Datatables remove row from another table

I have two data tables.  One is the "Selection Table", which has a column with a checkbox.  When this checkbox is checked, the row data is added to the "Preview Table".  When the checkbox is unchecked, it should remove the row from the Preview table.
My problem is that the unchecking from the box actually gets rid of "all" the rows in the Preview Table.
$('#selectNodesTable tbody').on('click', 'tr #nodeToAdd', function () {
        var row = ($(this)).closest('tr');
        var rowObj = nodeTable.row(row).data();
        console.log(rowObj);

        if (($(this)).is(':checked')) {
            nodePreviewTable.row.add(rowObj);
            nodePreviewTable.draw();
        } else {
            // THE BELOW STATEMENT DELETES ALL ROWS FROM THE PREVIEW TABLE
            nodePreviewTable.row().remove(rowObj);
            nodePreviewTable.draw();
        }
    });

A:

It is not totally clear what you want. But I assume you want to move rows back and forth two jQuery dataTables instances, based on click on checkboxes? If you have two tables, #selectNodesTable and #previewNodesTable, you can move a row when a checkbox is checked from #selectNodesTable to #previewNodesTable this way :
$('#selectNodesTable').on('click', 'input[type=checkbox]', function() {
    if ($(this).is(':checked')) {
        $(this).attr('checked', 'checked');
        tr = $(this).closest('tr');
        row = selectNodesTable.row(tr);
        rowData = [];
        tr.find('td').each(function(i, td) {
            rowData.push($(td).html());
        });    
        row.remove().draw();
        previewNodesTable.row.add(rowData).draw();
    }
}); 

Notice the regeneration of rowData. This is to ensure that you pass a checkbox that actually is checked. row.data() will only return the cached row content, i.e the unchecked checkbox. If you also want to do the opposit, as I assume :
$('#previewNodesTable').on('click', 'input[type=checkbox]', function() {
    if ($(this).not(':checked')) {
        $(this).removeAttr('checked', 'checked');
        tr = $(this).closest('tr');
        row = previewNodesTable.row(tr);
        rowData = [];
        tr.find('td').each(function(i, td) {
            rowData.push($(td).html());
        });    
        row.remove().draw();
        selectNodesTable.row.add(rowData).draw();
    }
});

see demo -> http://jsfiddle.net/zwLm043e/ 
The above could of course easily be generalised into a single function doing both actions depending on the state of the clicked checkbox.

