none
Pasar valor a un input de una tabla desde un modal por cada td seleccionado en MVC JQuery RRS feed

  • Pregunta

  • Saludos, a continuacion el codigo en la ventana Padre aplico el siguiente:

                             

    function fn_comentari

    o() {
                $("a.comenta").click(function () {
                    ///Venta/Comentario                                
                    var laURLDeLaVista = '@Url.Action("Comentario", "Venta")';
                    $.ajax({
                        cache: false,
                        async: true,
                        type: "GET",
                        url: laURLDeLaVista,
                        data: {},
                        success: function (response) {
                            //  $('#resultado').html('');
                            //  debugger

                            $('#contentModal').html(response);
                        }
                    });
                    $("#modalGenerica").modal('show');
                })

            };

    En la ventana Hija : 

      $(document).ready(function (e) {
            $(".boton").click(function () {
                var _com = $.trim($("#comentarioHijo").val());
                alert(_com);
                    $("input").each(function () {
                        $("#comentarioPadre").val(_com)
                    });
                $('#Mymodal').modal("hide");
            });
        });

    El problema es que en el detalle de la tabla el valor se agrega en el input del index 0, aunque seleccione el index 3 para agregar el valor unicamente este valor se va a la casilla del primer registro.



    • Editado EASV viernes, 19 de enero de 2018 19:43
    viernes, 19 de enero de 2018 19:08

Todas las respuestas

  • no comprendo mucho que es lo que queres hacer

    Att. Franklin Andino

    viernes, 19 de enero de 2018 20:01
  • no comprendo mucho que es lo que queres hacer

    Att. Franklin Andino

       Tengo una tabla con varios registros y cada fila de detalle tiene dos botones uno para eliminar el registro y el otro para traer una ventana modal con un textarea para poner un comentario y agregarlo en un input de la fila seleccionada, el caso que cuando la tabla tiene mas de un registro, y cada fila que contiene su boton para hacer comentario por el modal cada vez que presion el boton de una fila que no sea la primera y que pongo un cometario por el modal y lo agrego a la tabla este no se presenta en el input de la fila seleccionada, por defecto agrega el valor en el input de la primera fila. por ejemeplo:

    ventana Padre

    presiono clic en el boton azul primera fila.

    Se presenta esta ventana en la que escribo la palabra Prueba y al presionar el boton Aceptar el dato me aparece en la primera fila. Ventana Hija (modal)

    ejemplo.

    Hasta ahí esta bien por que intencionalmente seleccione el boton de la primera fila. pero cuando seleccion la segunda o la tercera y agrego un comentario unicamente me llena la primera dejando en blanco el comentario de la fila actualmente selecionada. por ejemplo.

     aqui seleccion el la segunda fila y presion el boton comentario de esa misma fila. hago mi comentario y lo que hace es que se sustituye o sobre escribe en la primera fila.

    escribo esa palabra llamada control y cuando presiono el boton aceptar. no melena el de la fila selecionada. Hace lo contrario se ecribe en la primera fila quitando el valor anterior. de la siguiente manera.

    parece un asunto de indexado pero, no se como hacerlo, a ver si me puedes dar una mano, si es que me entiendes. Gracias de todas forma, por tu atencion.



    • Editado EASV viernes, 19 de enero de 2018 21:32
    viernes, 19 de enero de 2018 21:29
  • a ok no esta complicado.

    esa info la cargas desde una base de datos, que dato tenes que hago unico el registro, este dato se podria utilizar para poner el ID al tr y para llevarlo como parametro cuando levantas el modal, para que cuando le des aceptar por medio de jquey se envie ese dato directo al campo que necesitas

    <table id="tablatest"> <thead> <th> columna 1</th> <th> columna 2</th> </thead> <tbody> @for(i = 0; i < modal.count(); i++) { <tr id='@Modal[i].DatoUnico' > <td> @Html.TextBoxtFor(modalItem => Modal[i].Comentario,new {id="Comentario"}) </td> <td> <button type="button" class="btn btn-primary btn-sm" id="btnComenario" value = '@Modal[i].DatoUnico'>Comentario</button> </td> </tr> } </tbody> </table> @html.hidden("trSeleccionado") <script type="text/javascript"> $("#tablatest #btnComenario").click(function () { $("#trSeleccionado").val($(this).val()) }) $(document).on("click", "#AceptarComentario", function(){ var trSeleccionado = $("#trSeleccionado").val() $("#tablatest tbody tr #" + trSeleccionado).find("#Comentario").val($("#txtComentario").val())

    $('#Mymodal').modal("hide"); }) </script>



    Att. Franklin Andino


    viernes, 19 de enero de 2018 21:53
  • a ok no esta complicado.

    esa info la cargas desde una base de datos, que dato tenes que hago unico el registro, este dato se podria utilizar para poner el ID al tr y para llevarlo como parametro cuando levantas el modal, para que cuando le des aceptar por medio de jquey se envie ese dato directo al campo que necesitas

    <table id="tablatest">
    	<thead>
    		<th> columna 1</th>
    		<th> columna 2</th>
    	</thead>
    	<tbody>
    		@for(i = 0; i < modal.count(); i++)
    		{
    			<tr id='@Modal[i].DatoUnico' >
    				<td>
    				   @Html.TextBoxtFor(modalItem => Modal[i].Comentario,new {id="Comentario"})
    				</td>
    				<td>
    				   <button type="button" class="btn btn-primary btn-sm" id="btnComenario" value = '@Modal[i].DatoUnico'>Comentario</button>
    				</td>
    			</tr>
    		}
    	</tbody>
    </table>
    @html.hidden("trSeleccionado")
    <script type="text/javascript">
    	 $("#tablatest #btnComenario").click(function () {
            $("#trSeleccionado").val($(this).val())
        })
    
    	$(document).on("click", "#AceptarComentario", function(){
    	    var trSeleccionado = $("#trSeleccionado").val()
    		$("#tablatest tbody tr #" + trSeleccionado).find("#Comentario").val($("#txtComentario").val())
    	})
    </script>


    Att. Franklin Andino

    Realmente no entiendo por que el inconveniente es que creo mi table en el body tr td la creo con este codigo.

    var fila = "<tr><td><a href='#'>" + cod + "</a></td>
                                fila = fila + "<td><input type='text' class='form-control text-left col-sm-2' style='width: 100px;' name='Comentario' id='comentarioPadre' value='cod'/></td>" +                             
                                   "<td><a href='#' class ='comenta'><button class='btn btn-primary' title='Comentario' type='button'  data_modal = ''><span class='fa fa-comment'></span></button></a></td>" +
                                   "<td><a class ='elimina'><button class='btn btn-danger' title='Eliminar' type='button'><span class='fa fa-remove'></span></button></a></td></tr>";
                                $("#local tbody").append(fila);

    y a partir de agregar todos los registros; es donde trato de llenar los comentarios seleccionados.

    viernes, 19 de enero de 2018 22:25