Я создаю таблицу из MySQL, которая выглядит так, как показано ниже. Когда пользователь устанавливает флажок, я хочу закрасить эту ячейку, и в идеале переключить слово «Неактивно» на «Активно» (и наоборот, когда оно станет неконтролируемым).
<table border="1" width="75%" class="stripeMe">
<thead>
<tr>
<th>Accounts</th><th>Status</th><th>Change</th>
</tr>
</thead>
<tr>
<td>M. Lamb</td><td class="c2"><span>Inactive</span></td><td><input type="checkbox" name="checks[]" id="R2C3" /></td>
</tr>
<tr>
<td>B. Peep</td><td class="c2"><span>Active</span></td><td><input type="checkbox" name="checks[]" id="R3C3" /></td>
</tr>
<tr>
<td>J. Spratt</td><td class="c2"><span>Active</span></td><td><input type="checkbox" name="checks[]" id="R4C3" /></td>
</tr>
<tr>
<td>H. Dumpty</td><td class="c2"><span>Inactive</span></td><td><input type="checkbox" name="checks[]" id="R5C3" /></td>
</tr>
На основании того, что я узнал из поиска здесь, я могу переключить ячейку, содержащую флажок, и изменить слово соседней ячейки, используя это:
$(document).ready(function() {
$("input[type=checkbox]").click(function(e) {
var bgColor = $(this).attr('checked') == 'checked' ? '#f00' : '#fff';
var txtStatus = $(this).attr('checked') == 'checked' ? 'changed' : 'unchanged';
//toggle the checkbox cell when clicked
$(this).closest('td').css('background', bgColor);
//toggle the inactive
$(this).closest('td').siblings().find('span').text(txtStatus);
});
});
Я чувствую себя так близко, но, похоже, не могу найти свой путь! Здесь - моя тестовая скрипка.