none
Pegar o valor de uma tag <TD> por jquery e enviar para método em Controller RRS feed

  • Pergunta

  • Como eu faço para pegar o valor de uma tag quando eu dou um double clique nela e pegar esse valor e passar para um método na minha controller. A funcção double clique está funcionando.

    $('#nmUsuario').on("dblclick", '.clique', function() {
        CarregaDados();
    })

    Onde nmUsuario é o tbody da minha table. O meu método CarregaDados();é onde eu quero pegar o valor da tag clicada e passar para a controller via json.

    function CarregaDados() {
    
        $('.rowid').find('td').each(function () {
            var test = $(this).text();
            alert(test);
        })
    
    
        $.ajax({
    
            url: '/CadastroAcesso/CarregaDadosPagina',
            datatype: 'json',
            contentType: 'application/json;charset=utf-8',
            type: 'POST',
            data: JSON.stringify({ aqui não sei o que passar }),
            success: function (data) {
                alert('Alô, tudo bem?');
            },
            error: function (error) {
            }
        })
    }

    Onde rowid é a minha <TR>, porem, como eu quero pegar apenas a tag clicada, faz sentido fazer um each? O código que eu fiz antes do ajax, não entra no alert. Não sei o valor de test.

    quinta-feira, 23 de outubro de 2014 10:48

Respostas

Todas as Respostas

  • Dê uma olhadinha nesse código que eu fiz, espero que ajude:

    jsfiddle link

    • Sugerido como Resposta Raphael Heitor quinta-feira, 23 de outubro de 2014 12:39
    • Marcado como Resposta pnet quinta-feira, 23 de outubro de 2014 12:48
    quinta-feira, 23 de outubro de 2014 12:39
  • Segue um exemplo se quiser pegar apenas a primeira coluna da linha selecionada:

    Seu cshtml/aspx

    <ol>
        <li>
            <table id="tblTest">
                <tr>
                    <td>A</td>
                    <td>B</td>
                    <td>C</td>
                </tr>
                <tr>
                    <td>A2</td>
                    <td>B2</td>
                    <td>C2</td>
                </tr>
                <tr>
                    <td>A3</td>
                    <td>B3</td>
                    <td>C3</td>
                </tr>
            </table>
        </li>
    </ol>
    
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    
    <style type="text/css">
        table tbody tr:hover {
            background-color: orange;
            cursor: pointer;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function () {
    
            $("#tblTest tbody tr").click(function () {
                var campoA = "";
                $(this).find('td').each(function (i) {
                    var test = $(this).text();
                    alert(i);
                    if (i == 0) {
                        campoA = test;
                    }
                    alert(test);
                });
    
                $.ajax({
                    url: '/Home/TesActionResult',
                    datatype: 'json',
                    contentType: 'application/json;charset=utf-8',
                    type: 'POST',
                    data: JSON.stringify({ id : campoA }),
                    success: function (data) {
                        alert(data.id);
                    },
                    error: function (error) {
                    }
                });
    
            });
        });
    </script>


    Seu Controller (HomeController action TestActionResult):

        public ActionResult TesActionResult(String id)
            {
                return Json(new { id = id }, JsonRequestBehavior.AllowGet);
            }

    Marque como resposta se foi útil!



    • Sugerido como Resposta Deric Ferreira quinta-feira, 23 de outubro de 2014 12:49
    • Editado Deric Ferreira quinta-feira, 23 de outubro de 2014 12:49
    quinta-feira, 23 de outubro de 2014 12:48
  • Segue um exemplo se quiser pegar apenas a primeira coluna da linha selecionada:

    Seu cshtml/aspx

    <ol>
        <li>
            <table id="tblTest">
                <tr>
                    <td>A</td>
                    <td>B</td>
                    <td>C</td>
                </tr>
                <tr>
                    <td>A2</td>
                    <td>B2</td>
                    <td>C2</td>
                </tr>
                <tr>
                    <td>A3</td>
                    <td>B3</td>
                    <td>C3</td>
                </tr>
            </table>
        </li>
    </ol>
    
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    
    <style type="text/css">
        table tbody tr:hover {
            background-color: orange;
            cursor: pointer;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function () {
    
            $("#tblTest tbody tr").click(function () {
                var campoA = "";
                $(this).find('td').each(function (i) {
                    var test = $(this).text();
                    alert(i);
                    if (i == 0) {
                        campoA = test;
                    }
                    alert(test);
                });
    
                $.ajax({
                    url: '/Home/TesActionResult',
                    datatype: 'json',
                    contentType: 'application/json;charset=utf-8',
                    type: 'POST',
                    data: JSON.stringify({ id : campoA }),
                    success: function (data) {
                        alert(data.id);
                    },
                    error: function (error) {
                    }
                });
    
            });
        });
    </script>


    Seu Controller (HomeController action TestActionResult):

        public ActionResult TesActionResult(String id)
            {
                return Json(new { id = id }, JsonRequestBehavior.AllowGet);
            }

    Marque como resposta se foi útil!



    pnet, testou essa forma que citei?

    quinta-feira, 23 de outubro de 2014 12:59