Проверьте этот фрагмент. Надеюсь, что это поможет!
$(document).ready(function() {
$(document).on("change", ".tot_amount", function() {
var $tr = $(this).closest("tr");
var $trClass = $(this).closest("tr").attr("class");
if (this.checked) {
$("#table2 tbody").append("<tr class='"+ $trClass +"'>" + $tr.html() + "</tr>");
$("#table2 tbody").find('input').parent().remove();
} else {
$('#table2').find(".servicetr").each(function() {
if($tr.hasClass("subscription")){
$("#table2").find(".subscription").remove();
} else if($tr.hasClass("registration")){
$("#table2").find(".registration").remove();
}
});
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table cellspacing="0" rules="all" border="1" id="table1" style="border-collapse:collapse;">
<tbody>
<tr>
<th scope="col">Service </th>
<th scope="col">Amount</th>
<th scope="col">tax</th>
<th scope="col">Action</th>
</tr>
<tr class='servicetr subscription'>
<td class="service">
<span>Subscription Charges</span>
</td>
<td>
<span>500.00</span>
</td>
<td class="service">
<span>90.00</span>
</td>
<td>
<input type="checkbox" data-toggle="checkbox" class="tot_amount" value="590.00" />
</td>
</tr>
<tr class='servicetr registration'>
<td>
<span>registration fees</span>
</td>
<td>
<span>200.00</span>
</td>
<td>
<span>80.00</span>
</td>
<td>
<input type="checkbox" data-toggle="checkbox" class="tot_amount" value="590.00" />
</td>
</tr>
</tbody>
</table>
<br/>
<table cellspacing="0" rules="all" border="1" id="table2" style="border-collapse:collapse;">
<tbody>
<tr>
<th scope="col">Service </th>
<th scope="col">Amount</th>
<th scope="col">tax</th>
</tr>
</tbody>
</table>
Вы можете сделать что-то вроде этого:
Iterator<String> crunchifyIterator = list.iterator();
while (
(list!=null && crunchifyIterator.hasNext()) ||
(list==null && (line = reader1.readLine()) != null)
){
//code
}
Но это не будет работать правильно, если код изменяет список. Если список изменяется, вы должны сохранить копию списка в переменной и использовать ее в условии вместо списка.
Вы можете использовать булево значение, установленное вашим типом ввода, и использовать его в то время.
while ((isReadingFromFile && (reader1.reader1.readLine() != null)) ||
crunchifyIterator.hasNext()) {
Я не уверен, что это лучший вариант, хотя, возможно, лучше переместить код в while
переходит к приватному методу, если вы хотите разделить код между двумя петлями
if (...) {
while (crunchifyIterator.hasNext()){
handleLine(crunchifyIterator.next());
}
} else {
while ((line = reader1.readLine()) != null) {
handleLine(line);
}
}