problemas con mostrar y ocultar boton javascript

publicado por: Anonymous

tengo el siguiente problema

Estoy ocultando botones, cuando se presiono un boton se oculta y se muestra otro, los estoy haciendo en una tabla con varios registros. el problema es que no todos los registros de la tabla me ocultan el boton solo en un registro que es el primero.

mostrare imagenes para que me entiendan mejor.

introducir la descripción de la imagen aquí

introducir la descripción de la imagen aquí

en el primer registro me funciona bien.
pero cuando lo hago con otro registro de la tabla no me funciona

introducir la descripción de la imagen aquí

este es el codigo de como lo hice

_x000D_

_x000D_

//funcion para mostrar/ocultar los botones al momento del click_x000D_
<script>_x000D_
        var btn_1 = document.getElementById('btn-1');_x000D_
        var btn_2 = document.getElementById('btn-2');_x000D_
        _x000D_
        function mostrarBoton2 () {_x000D_
            btn_1.style.display = 'none';_x000D_
            btn_2.style.display = 'inline';_x000D_
        }_x000D_
        function mostrarBoton1 () {_x000D_
            btn_2.style.display = 'none';_x000D_
            btn_1.style.display = 'inline';_x000D_
        }_x000D_
    </script>

_x000D_

	<?php_x000D_
       //llamar archivo de la conexion BD_x000D_
      include "conexion.php";_x000D_
      //sentencia select para traer datos desde la base_x000D_
      $sql="SELECT ID_Usuario,Nombres,Apellidos,Identidad,correo,Usuario,Password,Nivel_Permiso FROM usuario";_x000D_
      //metodo mysql_x000D_
      $result=mysqli_query($conexion,$sql);_x000D_
      //while para imprimir los datos en la tabla_x000D_
      while($ver=mysqli_fetch_row($result)){_x000D_
_x000D_
         //variable para capturar datos a mostrar en el form de edicion de usuarios_x000D_
        $datos=$ver[0]."||"._x000D_
               $ver[1]."||"._x000D_
               $ver[2]."||"._x000D_
               $ver[3]."||"._x000D_
               $ver[4]."||"._x000D_
               $ver[5]."||"._x000D_
               $ver[7];_x000D_
      ?>_x000D_
_x000D_
          <tr> _x000D_
          <td><?php echo $ver[1]?></td>_x000D_
          <td><?php echo $ver[2]?></td>_x000D_
          <td><?php echo $ver[3]?></td>_x000D_
          <td><?php echo $ver[4]?></td>_x000D_
          <td><?php echo $ver[5]?></td>_x000D_
          <td><?php echo $ver[7]?></td>_x000D_
          <!--boton edicion-->_x000D_
          <td>_x000D_
          <button class="btn btn-warning glyphicon glyphicon-pencil" data-toggle="modal" data-target="#ModalEdicion" onclick="agregaform('<?php echo $datos ?>')">_x000D_
          Editar_x000D_
          </button>_x000D_
          </td>_x000D_
         <!--boton estado-->_x000D_
--------///aqui es donde estan los botones del estado------_x000D_
          <td>_x000D_
          <button  type="button" class="btn btn-danger " id="btn-1"  onclick="mostrarBoton2()">Desactivar</button>_x000D_
          <button  type="button" class="btn btn-success " id="btn-2" onclick="mostrarBoton1()" style="display: none;">Activar</button>_x000D_
          </td>_x000D_
        </tr>_x000D_
      <?php  _x000D_
      }_x000D_
      ?>_x000D_
      </tbody>_x000D_
  	</table>

_x000D_

_x000D_

_x000D_

gracias por sus respuestas 😀

solución

es porque todos comparten el mismo id… trata de agregar un counter

//funcion para mostrar/ocultar los botones al momento del click

    <script>


        function mostrarBoton2 (id) {
        var btn_1 = document.getElementById('btn-1-'+id);
        var btn_2 = document.getElementById('btn-2-'+id);
            btn_1.style.display = 'none';
            btn_2.style.display = 'inline';
        }
        function mostrarBoton1 () {
        var btn_1 = document.getElementById('btn-1-'+id);
        var btn_2 = document.getElementById('btn-2-'+id);
            btn_2.style.display = 'none';
            btn_1.style.display = 'inline';
        }
    </script>
<?php
   //llamar archivo de la conexion BD
  include "conexion.php";
  //sentencia select para traer datos desde la base
  $sql="SELECT ID_Usuario,Nombres,Apellidos,Identidad,correo,Usuario,Password,Nivel_Permiso FROM usuario";
  //metodo mysql
  $result=mysqli_query($conexion,$sql);
  //while para imprimir los datos en la tabla
  $counter = 0;
  while($ver=mysqli_fetch_row($result)){

     //variable para capturar datos a mostrar en el form de edicion de usuarios
    $datos=$ver[0]."||".
           $ver[1]."||".
           $ver[2]."||".
           $ver[3]."||".
           $ver[4]."||".
           $ver[5]."||".
           $ver[7];
  ?>

      <tr> 
      <td><?php echo $ver[1]?></td>
      <td><?php echo $ver[2]?></td>
      <td><?php echo $ver[3]?></td>
      <td><?php echo $ver[4]?></td>
      <td><?php echo $ver[5]?></td>
      <td><?php echo $ver[7]?></td>
      <!--boton edicion-->
      <td>
      <button class="btn btn-warning glyphicon glyphicon-pencil" data-toggle="modal" data-target="#ModalEdicion" onclick="agregaform('<?php echo $datos ?>')">
      Editar
      </button>
      </td>
     <!--boton estado-->
      --------///aqui es donde estan los botones del estado------
      <td>
      <button  type="button" class="btn btn-danger " id="btn-1-<?=$counter?>"  onclick="mostrarBoton2(<?=$counter?>)">Desactivar</button>
      <button  type="button" class="btn btn-success " id="btn-2-<?=$counter?>" onclick="mostrarBoton1(<?=$counter?>)" style="display: none;">Activar</button>
      </td>
    </tr>
  <?php  
  $counter++;
  }
  ?>
  </tbody>
</table>
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *