0

我的点击更改图像有问题,我有数据库消息,每条消息都有状态 0 或 1,从我的代码中,我必须单击状态图像,它会改变,但它的变化仅适用于第一条消息。当我单击其他消息状态时,它不会更改,而只会更改第一个状态。我怎么能跑这个!!!

<script type="text/javascript">
 $(function() {
$('.imageCheck').click(function(e){
 e.preventDefault();
$("#bg").attr('src',"/application/admin/img/tick.png");  
});    
});

    </script>    

                                            <th>Status</th>

                </tr>
            </thead>
            <tbody>
                <?php 
                foreach ($users as $user):

                ?>
                <tr>
                    <td><?=$user['id']?></td>
                    <td>                                                      
  <div class="imageCheck"><img id="bg" src="<?php echo $img_path;?>publish_x.png" name="statusCheck" value="0" />
                                                   </div>                                                     
                                            </td> 
4

3 回答 3

1

您需要#bg在您的消息控件中更改。在事件处理程序中用于find获取嵌套bg元素。

$('.imageCheck').click(function(e){
   e.preventDefault();
   $(this).find("#bg").attr('src',"/application/admin/img/tick.png");  
});  
于 2012-12-28T21:13:09.893 回答
0

因为一个 ID 可以(或者说应该)在 DOM 中只存在一次。jQuery 仅更改与选择器匹配的第一个元素#bg。尝试改用一个类:

<img class="bg" />

$('.bg').attr('src', '...');
于 2012-12-28T21:12:19.320 回答
0

ID 在页面上应该是唯一的。由于您正在循环播放,因此您将拥有多个 id bg 的 img,因此只有第一个有效。

as BenM states change it to .bg also update your code to find the exact image below the div

$(".bg", $(this)).attr('src',"/application/admin/img/tick.png"); 
于 2012-12-28T21:13:45.417 回答