我正在尝试在 while 循环中为每个选中的项目更改背景颜色。目前 jQuery 仅适用于最后一行。我确实$i
在输入 id 中放了一个变量,但老实说,我不确定除此之外还能做什么。我在 Stack Overflow 上尝试了这个、.each
函数和一堆答案,但我不知道如何处理这个问题。
这是jQuery:
$(document).ready(function(){
$('#org[$i]').change(function(){
if(this.checked){
$(this).siblings('table').removeClass('unchecked');
$(this).siblings('table').addClass('checked');
$(this).parentsUntil('td').removeClass('unchecked');
$(this).parentsUntil('td').addClass('checked');
} else {
$(this).siblings('table').removeClass('checked');
$(this).siblings('table').addClass('unchecked');
$(this).parentsUntil('td').removeClass('checked');
$(this).parentsUntil('td').addClass('unchecked');
}
});
});
这是循环(去掉了一些不重要的东西)。$i
在每个中正确迭代#org
(我在 Firebug 中检查过):
if ($i % 4 == 0) echo ($i > 0? '</tr>' : '') . '<tr>';
echo "<td class=\"unchecked\">
<div class=\"unchecked\">
<input id=\"org[".$i."]\" style=\"float:right\" type=\"checkbox\" name=\"org\" value=\"".$row['i_id']."\"/>
<table class=\"unchecked\">
//blah, blah, blah
</table>
</div>
</td>';
if ($i == $countRows - 1)
echo '</tr>';
$i++;