提问者:小点点

“for cycle”中的Bootrstrap事件


我有一个web门户,它读取一个mysql db,并为找到的每个数据创建一行。 在每一行中都有一个toogle按钮,如果选中该按钮将执行某些操作。 如果没有,就会做别的事。 直到现在,我可以做它,但它做“只”第一排。 不考虑其他行。

你能帮我吗? 问候

我发布相关代码:

                    <?php 
                    if(count($userData)>0){
                        $s  =   '';
                        foreach($userData as $val){
                            $s++;
                    ?>
                    <tr>
                        <td class="text-center"><?php echo $s;?></td>
                        <td class="text-center"><?php echo $val['rep_id'];?></td>
                        <td class="text-center"><?php echo $val['rep_alias'];?></td>
                        <td class="text-center"><?php echo $val['rep_email'];?></td>
                        <td class="text-center"><?php echo $val['rep_phone'];?></td>
                        <td class="text-center"><?php echo $val['rep_role'];?></td>
                        <td>
                            <?php $val['rep_role'];
                                if($val['rep_role']!="DISABILITATO"){
                                    ?>
                                    <div class="checkbox text-center">
                                        <input type="checkbox" name="inServizio" id="inServizio" data-toggle="toggle" data-on="SI" data-off="NO" data-onstyle="success" data-offstyle="danger">
                                    </div>
                                    <div id="console-event"></div>
                                    <!--<input type="hidden" name="hidden_inServizio" id="hidden_inServizio" value="NO" />-->
                            </td>
                            <?php 
                                }?>
                        <td align="center"><?php echo date('d-m-Y',strtotime($val['dt']));?></td>
                        <td align="center">
                            <a href="edit_rep.php?editId=<?php echo $val['id'];?>" class="text-primary"><i class="fa fa-fw fa-edit"></i> Modifica</a> | 
                            <a href="delete_rep.php?delId=<?php echo $val['id'];?>" class="text-danger" onClick="return confirm('Sei sicuro di vole cancellare il Negozio?');"><i class="fa fa-fw fa-trash"></i> Elimina</a>
                        </td>

                    </tr>

                    <?php 
                        }
                    }else{
                    ?>
                    <tr>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                        <td class="text-center col-md-auto">Nessun Dato trovato!!</td>
                    </tr>
                    <?php } ?>
                </tbody>     



 $(function() {
        $('#inServizio').change(function() {

            if($(this).prop('checked')){
              $('#console-event').html('Stato: ON' );
            } else {
              $('#console-event').html('Stato: OFF ');
          }

         $(this).prop('checked')
        })
      }); ```

共1个答案

匿名用户

您正在使用id“inservizio”来放置一个侦听器。 但是这个id只影响DOM中的一个元素(在第一个中),因为使用id我们只标识所有文档中的一个元素。

这里有许多解决办法:

  1. 在元素(HTML)中:
<input type="checkbox" name="inServizio" class="inServizio" data-toggle="toggle" data-on="SI" data-off="NO" data-onstyle="success" data-offstyle="danger">
$('.inServizio').change(function() {
    if($(this).prop('checked')){
       $(this).parent().siblings().html('Stato: ON' );
    } else {
       $(this).parent().siblings().html('Stato: OFF ');
    }
    ...