JQuery - Evento on change en una tabla html

 
Vista:
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en JQuery (en relación al último mes)
Gráfica de JQuery

Evento on change en una tabla html

Publicado por mario (8 intervenciones) el 21/03/2019 01:36:32
buenas, me podrian dar su consejo en un problema que tengo :

tengo una tabla hatml que se llena con una consulta a la base de datos, contiene en unas de sus filas un campo select, que muestra la lista de tecnicos. al escoger un tecnico quiero hacer que se actualice la base de datos asignandole ese tecnico a ese registro seleccionado. el jqueri que utiliso es un evento on change:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
jQuery(document).ready(function($) {
    $("#TecPresu").change(function() {
       var valor = $("#Paq").val();
       var valor2 = $("#TecPresu").val();
       var link = "Asignar_Paquetes.php";
       alert(valor2);
       $.ajax({
           url: link,
           type: 'GET',
           dataType: 'html',
           data: {
               "valor": valor,
               "valor2": valor2
           },
           success: function(data) {
               window.location.href = "Asignar_Paquetes.php";
        }
    });
});

la tabla es la siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<table id="datatable" class="table table-striped jambo_table bulk_action ">
    <thead>
        <tr>
            <th style="text-align: center;" width="4%">#Paquete</th>
            <th style="text-align: center;" width="10%">Fecha</th>
            <th style="text-align: center;" width="10%">Generado Por</th>
            <th style="text-align: center;" width="14%">Asignado a</th>
            <th style="text-align: center;" width="42%">Tecnicos</th>
            <th style="text-align: center;" width="10%">Status</th>
        </tr>
    </thead>
    <form action="" id="form1" method="post">
    <tbody>
    <?php $id=0;  ?>
    <?php do {  $id=$id+1;  ?>
 
        <tr style="background: #e9e9e9;" id="Mostrar_Tabla" data-id="<?php echo $id?>" class="opciones">
            <?php
                $VarNumPaq=$row_ConsultaPaq['NumPaquete'];
                $VarId="Tabla_Mostrar" . $VarNumPaq;
                $query_ReqPaq = "SELECT * FROM vw_req_paquetes WHERE NumPaq = '$VarNumPaq'";
                $ConsultaReqPaq = mysqli_query($Con_sre, $query_ReqPaq);
                $row_ConsultaReqPaq = mysqli_fetch_assoc($ConsultaReqPaq);
                $totalRows_ConsultaReqPaq = mysqli_num_rows($ConsultaReqPaq);
            ?>
            <th style="text-align:center"><?php echo $row_ConsultaPaq['NumPaquete']; ?></th>
            <input type="hidden"  name="Paq" id="Paq" value="<?php echo $row_ConsultaPaq['NumPaquete']; ?>"  />
            <th style="text-align:center"><?php echo $row_ConsultaPaq['Fecha']; ?></th>
            <th style="text-align:center"><?php echo $row_ConsultaPaq['SeparadoPor']; ?></th>
            <th style="text-align:center"><?php echo $row_ConsultaPaq['Nombre']; ?></th>
            <th style="text-align:center"><select name="Tecnico1" id="TecPresu" class="form-control" class="Selec">
                    <option></option>
                    <?php
                        do {
                    ?>
                        <option value="<?php echo $row_ConsultaUserTecno['NumUsuario']?>"
                        <?php if (!(strcmp($row_ConsultaUserTecno['NumUsuario'], $row_BuscarReq['AsignadoTecno']))) {
                            echo "selected=\"selected\"";} ?>><?php echo $row_ConsultaUserTecno['Nombre']?> -
                            <?php echo $row_ConsultaUserTecno['Especialidades']?>
                        </option>
                    <?php
                        } while ($row_ConsultaUserTecno = mysqli_fetch_assoc($ConsultaUserTecno));
                            $rows = mysqli_num_rows($ConsultaUserTecno);
                        if($rows > 0) {
                            mysqli_data_seek($ConsultaUserTecno, 0);
                        }
                    ?>
                </select>
            </th>
                <?php if( $row_ConsultaPaq['Status']=="DEVUELTO"){
                        $Color = "#921919";
                     }else{
                         $Color = "#73879C";
                     }
 
                ?>
            <th style="color:<?php echo $Color ?>; text-align:center"><?php echo $row_ConsultaPaq['Status']; ?></th>
        </tr>

es muy larga asi que solo pegue una parte:
llamo al campo select por el id="TecPresu"

el problema es que solo me funciona con la primera fila y con las demas no funciona
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 142
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Evento on change en una tabla html

Publicado por Horroroso (65 intervenciones) el 21/03/2019 19:12:57
Hola,
Creo que tienes mal el concepto.

Estas substituyendo todo el contenido por la pagina nueva.

El Ajax no trae nada, solo cuando responde entonces cambias de pagina.

Funciona solo la primera vez porque la segunda vez ya no existe el select, si no que toda la pagina se cambia el contenido por la pagina asignar_paquetes.php.

Investiga un poco mas sobre como colocar respuestas de ajax, por ejemplo en un div.

Saludos.

Horroroso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en JQuery (en relación al último mes)
Gráfica de JQuery

Evento on change en una tabla html

Publicado por mario (8 intervenciones) el 22/03/2019 03:39:26
pero si trae el contenido bien porque el contenido vuelve por php a travez de una consulta a la base de datos y esta funcionando. la segunda vez me envia el mismo id no el de la siguiente fila , puedo usar la primera fila tantas veces como quiera seguidas y funciona bien pero al intentar usar el cualquier otra fila me envia el primer id y no funciona. aunque refresque la pagina y use cualquier otra fila no funciona con ninguna fila que no se la primera
si entro por primera vez e intento usar otra fila que no sea la primera no funciona pero si despues intento con la primera si funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar