0

我在选择特定复选框并将其 div 的高亮 css 放入 mysql_fetch_array 时遇到问题

这是我的代码

$count=1;
$query = mysql_query('SELECT * FROM thread');
while($row = mysql_fetch_array($query))
{
  echo "<div class='row".$count."'><input type='checkebox' class='chk_box".$count."'> ".$row['title']."</div>";
  $count++; 
}

<script>
 var count= "<?php echo $count?>";
 for(var y=1;y<=count;y++){ 
$('.chk_box'+y).click(function() {
  if(this.checked) {
    $('.row'+y).addClass('backcolor');
  }
  else{
    $('.row'+y).removeClass('backcolor');
  }
 });
        }
</script>
4

1 回答 1

1

修正了 som 拼写错误,添加了 DOM 就绪功能,并稍微更改了 jQuery,试试看?

$count=1;
$query = mysql_query('SELECT * FROM thread');
while($row = mysql_fetch_array($query)) {
   echo "<div class='row".$count."'><input type='checkbox' class='chk_box".$count."'> ".$row['title']."</div>";
   $count++; 
}

<script type="text/javascript">
$(function() {
    $('[class^="chk_box"]').on('click', function() {
        $(this).closest('div').toggleClass('backcolor', this.checked);
    });
});
</script>​​​​​​​​​​

作为旁注,在 for 循环中附加事件处理程序通常不是一个好主意。

于 2012-12-11T11:02:22.017 回答