我试图将行值移到另一个表并移回到上一个表,但是找不到解决方案。
$('#one tbody tr td input.checkbox').click(function() {
if ($(this).attr('checked')) {
var row = $(this).closest('tr').clone();
$('#two tbody').append(row);
$(this).closest('tr').remove();
}
});
$('#two tbody tr td input.checkbox').click(function() {
if ($(this).attr('checked')) {
var row = $(this).closest('tr').clone();
$('#one tbody').append(row);
$(this).closest('tr').remove();
}
});
$('button').on('click', function() {
$('*').removeAttr('style');
$('#one tbody tr td input.checkbox:not(:checked)').parent().css('border', 'red 1px dashed');
});
table {
margin: 10px;
}
td {
padding: 5px;
background: lightblue;
}
button {
float: right;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<button>TEST SELECTOR!</button>
<table id="one">
<tbody>
<tr>
<td>Stupid</td>
<td>Flanders</td>
<td></td>
</tr>
<tr>
<td>Hi!</td>
<td>There!</td>
<td>
<input type="checkbox" class="checkbox">
<label>Check ME!</label>
</td>
</tr>
<tr>
<td>Ho!</td>
<td>There!</td>
<td>
<input type="checkbox" class="checkbox">
<label>Check ME!</label>
</td>
</tr>
<tr>
<td>Neighbor</td>
<td>eno!</td>
<td>
<input type="checkbox" class="checkbox">
<label>Check ME!</label>
</td>
</tr>
<tr>
<td>Okaly</td>
<td>Dokaly</td>
<td>
<input type="checkbox" class="checkbox">
<label>Check ME!</label>
</td>
</tr>
</tbody>
</table>
<table id="two">
<tbody>
<tr>
<td>Stupid</td>
<td>Flanders</td>
<td></td>
</tr>
</tbody>
</table>
fiddle
但是,它只是删除了选中的行,而不会返回到上一行。
如果单击该行,它应该返回到上一个表。
如何从获得的位置重做行值?
如果能帮助解决此问题,将不胜感激。
最佳答案
克隆后,追加并重做..您需要使用
$('body').on('click','#one tbody tr td input.checkbox', function(){})
$('body').on('click','#two tbody tr td input.checkbox', function(){})
对于#one和#two
DEMO