Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: GRCH en 4 Diciembre 2016, 20:12 PM

Título: no funciona button creado dinamicamente
Publicado por: GRCH en 4 Diciembre 2016, 20:12 PM
hola, tengo un boton de listar alumnos, que busca en la bd todos los de un curso. para lo mismo el fichero php retorna una lista desplegable de alumnos, y un boton buscar para que una vez seleccionado alguno de la lista busque sus calificaciones..

Osea el boton buscar es creado dinamicamente por la funcion succes(data). El caso es que no funciona, no realiza ningun cambio. no se si tendra algo que ver..

consultaCalificaciones.php

Código (php) [Seleccionar]
<?php
include_once '../../PHP/Conexion.php';
$conectar conexionBD();
 
    if (isset(
$_POST['cursos']) && isset($_POST['divisiones'])){
        global 
$conectar;
                            
$idcurso =htmlentities($_POST['cursos']);
                            
$iddivision =htmlentities($_POST['divisiones']);
                            
$sqlalumnos="SELECT alumno.idalumno,alumno.idpersona,persona.nombre,persona.apellido FROM alumno";
                            
$sqlalumnos.=" LEFT JOIN persona ON alumno.idpersona=persona.idpersona WHERE idcurso=".$idcurso." AND iddivision=".$iddivision.";";
                            
$rsalumnosselect($conectar,$sqlalumnos);
 
                            }
                           
?>

                             <form method="post" id="listado" name="listado">
  <section id="sección">

      <?php
 
 
      $totalalumnos
=count($rsalumnos);?>

  <table style="width: 100%;">
       <tr>
        <td style="alignment-adjust: central;">Listado
       <select style="text-align: center;alignment-adjust: ce;" name="alumnos" id="alumnos">
       <?php
      
if ($totalalumnos>0){
      foreach (
$rsalumnos as $alumno){
        
$idalu=$alumno['idalumno'];
        
$nombrecompleto=$alumno['nombre'];
        
$nombrecompleto.=' '.$alumno['apellido'];?>

       <option value="<?php echo $idalu;?>"><?php echo  $nombrecompleto;?></option>
      <?php }?>
        </select></td>
        <td><input type="button" id="buscar" value="buscar"/></td>
       </tr>
       </table>


        </section>

</form>
<?php }
?>


y el js es este
Código (javascript) [Seleccionar]
$(document).ready(function(){
//cargo cursos y divisiones al carga pag
$('#curso').load("getcursos.php");
$('#division').load("getdivisiones.php");

$("#listar").click(function(){
var form=$("#busqueda").serialize();
var curso=$('#curso').val();
var division=$('#division').val();

var trim = $("#trimestre").val();
var url = "consultaCalificaciones.php";           


    $.ajax({
   
           type: "POST",
           url: url,
           data: {form,trimestre:trim,cursos:curso,divisiones:division},
     
           success: function(data)
           {
             $("#respuesta").html(data);
            }
});

});
$("#buscar").click(function(){
   var curso=$('#curso').val();
   var division=$('#division').val();

   $("#alumnos").change(function() {
            var id = $(this).children(":selected").attr("value");
                    });
                    var url = "calificaciones.php";
                   
                  $.ajax({
   
           type: "POST",
           url: url,
           data: {trimestre:trim,idalu:id,cursos:curso,divisiones:division},
     
           success: function(data)
           {
             $("#notas").html(data);
            }
});   
    });
});


Probe hacer un alert dentro de buscar y nada..muchas gracias
Título: Re: no funciona button creado dinamicamente
Publicado por: [u]nsigned en 6 Diciembre 2016, 16:47 PM
Proba con:

Código (javascript) [Seleccionar]
$('#buscar').on('click',function(e){
    //tu codigo aca
    alert("It's work!");
});


Y nunca anides un manejador (handler) de eventos dentro de otro. Veo que en tu codigo el evento change de #alumnos esta dentro del evento click de #buscar.