Codeigniter - obtener valor de <td>

 
Vista:
Imágen de perfil de Sook
Val: 1
Ha mantenido su posición en Codeigniter (en relación al último mes)
Gráfica de Codeigniter

obtener valor de <td>

Publicado por Sook (1 intervención) el 22/06/2018 01:03:05
Buen día...
alguien por aquí? espero que si...
Les contare un poco de mi problema... realmente soy neófita en esto (dos semanas), así que lo lamento si la pregunta es algo tonta por que no se si realmente se puede hacer.

Tengo una tabla que lleno desde base datos. uno de los campos es el ID de la fila, la idea es que al dar en el botón de modificar, pueda recuperar ese id para abrir un modal con esa información y poderla modificar.

pero no se como recuperar el id... tengo algo asi..

en la vista.

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
<article class="box post-summary" style="margin-bottom:2em;">
    <form method="post" action="javascript:modif_actividad_bienestar();" name="servi" id="servi">
        <table style="font-size:14px; text-align: center;">
            <thead>
                <tr>
                    <th>ID del servicio</th>
                    <th>Nombre del servicio</th>
                    <th>Observación</th>
                    <th>Estado</th>
                    <th>Acciones</th
                </tr>
            </thead>
            <tbody>
                <?php
                foreach ($items as $s) {
                    ?>
                    <tr>
                        <td name="idsero" id="idser" for="idsero" value="<?= $s->ID_SERVICIO ?>"><?= $s->ID_SERVICIO ?></td>
                        <td><?= $s->NOM_SERVICIO ?></td>
                        <td><p><?= $s->OBSER_SERVICIO ?></td>
                        <td><?= $s->ESTADO ?></td>
                        <td><button type="submit" class="button" style="font-size:1em;"><span class="icon fal fa-edit" style=" font-size: 1.8em;"></span></button></td>
                    </tr>
                <?php }
                ?>
            </tbody>
        </table>
        <input type="hidden" name="idser" id="nom" value=" <?= $s->ID_SERVICIO ?> " />
    </form>
</article>
 
<div id="dialog-form" title="modificar" style="display:none;">
    <div style="min-width:325px;">
        <form method="post" action="javascript:busc_usu_inscrip();" name="v_pass" id="v_pass">
            <ul class="alt">
                <li>
                    <label for="cc8" style="display: inline; margin-right:5px;">
                        contenido... </label>
                </li>
 
            </ul>
        </form>
    </div>
 
    <div id="result8" style="min-height:100px; font-size:1.3em;"></div>
</div>

tengo un js que debe recibir el id para mostrar el modal con las datos (El alert lo tengo para verificar que llega, y esta llegando: undefined)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function modif_actividad_bienestar(idser) {
    alert(idser);
    var base_url_js = $('#base_url_js').val();
    $(function() {
        $.ajaxSetup({cache: false});
        $.ajax({
            url: base_url_js + "welcome/modificar_servicio",
            type: "post",
            data: 'idser=' + idser,
            success: function(x) {
                //console.log(x);
                $("#dialog-form").html(x).dialog({width: 417,
                    height: 310,
                    modal: true,
                    close: function(event, ui) {
                        $("#dialog-form").dialog('destroy');
                    }
                }).dialog('open');
            }
        });
    });
}

y la función que muestra el modal (algo asi)

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
public function modificar_servicio() {
    $idser = $this->input->post('idser');
    $servicio = $this->Medio->servicios($idser);
 
    foreach ($servicio as $s) {
        echo "
            <article class='box post-summary' style='margin-bottom:2em;'>
                <h3>Servicios</h3>
                <form action='" . $this->base_url . "welcome/regis_preinscrip' method='post'>
                    <table>
                        <tbody>
                            <tr>
                                <td><b>Id servicio:</b></td>
                                <td>" . $s->ID_SERVICIO . "</td>
                            </tr>
                            <tr>
                                <td><b>Nombre del servicio:</b></td>
                                <td><input type='text' name='nom_servicio' id='nom_servicio' value=" . $s->NOM_SERVICIO . " required /></td>
                            </tr>
                            <tr>
                                <td><b>Observacion:</b></td>
                                <td><input type='text' name='obser_servicio' id='obser_servicio' value=" . $s->OBSER_SERVICIO . " required /></td>
                            </tr>
                            <tr>
                                <td><b>Jornada:</b></td>
                                <td>
                                    <select name='estado' id='estado' required>
                                        <option value=''>Elegir...</option>
                                        <option value='A'>Activo</option>
                                        <option calue='I'>Inactivo</option>
                                    </select>
                                </td>
                            </tr>
                        </tbody>
                        <tfoot>
                            <tr>
                                <td colspan='2' align='right'><button type='submit' class='button' style='font-size:1em;'>Modificar</button></td>
                            </tr>
                        </tfoot>
                    </table>

                </form>
            </article>
        ";
    }
}

entonces, resumo, la tabla se llena sin problema, pero necesito recuperar el valor del campo Id servicio para enviarlo al js, hasta ahora solo he logrado un "undefined"... les agradezco una luz en el camino, gracias.

Pd: recalco que soy novata en esto... y en este punto estoy haciendo ensayo y error :)
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
Imágen de perfil de Alejandro

Recuperar ID para modificar registro

Publicado por Alejandro (44 intervenciones) el 01/09/2023 23:03:46
Para recuperar el ID del servicio y enviarlo al JavaScript para abrir el modal de modificación, necesitas hacer algunos ajustes en tu código. Asegúrate de que el ID se transmita correctamente cuando se hace clic en el botón de modificar. Aquí hay una solución:

En tu vista, modifica la parte del botón de modificar para pasar el ID como un argumento a la función `modif_actividad_bienestar`:

1
<button type="submit" class="button" style="font-size:1em;" onclick="modif_actividad_bienestar(<?= $s->ID_SERVICIO ?>);"><span class="icon fal fa-edit" style="font-size: 1.8em;"></span></button>

Luego, en tu función `modif_actividad_bienestar`, asegúrate de que estás recibiendo el ID correctamente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function modif_actividad_bienestar(idser) {
    var base_url_js = $('#base_url_js').val();
    $(function() {
        $.ajaxSetup({cache: false});
        $.ajax({
            url: base_url_js + "welcome/modificar_servicio",
            type: "post",
            data: { idser: idser }, // Envía el ID como un objeto
            success: function(x) {
                //console.log(x);
                $("#dialog-form").html(x).dialog({
                    width: 417,
                    height: 310,
                    modal: true,
                    close: function(event, ui) {
                        $("#dialog-form").dialog('destroy');
                    }
                }).dialog('open');
            }
        });
    });
}

Con estos cambios, el ID del servicio se enviará correctamente a la función `modif_actividad_bienestar`, y deberías poder utilizarlo en tu solicitud AJAX y en tu función `modificar_servicio` de CodeIgniter para mostrar los detalles del servicio en el modal de modificación.

Ten en cuenta que también debes asegurarte de que el ID del servicio se reciba y procese correctamente en tu controlador `modificar_servicio` de CodeIgniter para que puedas recuperar los datos correctos de la base de datos y mostrarlos en el modal.
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