click em table e carregar as informações na tela
Essa é minha table:
Não consigo o evento doubleclick e passar a linha selecionada como parâmetro para a controller via jquery. Esse é meu esqueleto jquery.
<div class="col-md-13"> <table data-url="data1.json" data-height="500" data-sort-name="name" data-sort-order="desc" class="table table-striped table-bordered"> <thead> <tr> <th data-field="id" data-align="center" data-sortable="true">Nível Acesso</th> <th data-field="name" data-align="center" data-sortable="true">Nome</th> <th data-field="price" data-align="center" data-sortable="true">Usuário</th> </tr> </thead> <tbody id="nmUsuario"></tbody> </table> </div>
Não consigo o evento doubleclick e passar a linha selecionada como parâmetro para a controller via jquery. Esse é meu esqueleto jquery.
function ConsultarAcesso() { str = ""; $.ajax({ url: '/CadastroAcesso/ConsultaAcesso', datatype: 'json', contentType: 'application/json;charset=utf-8', type: 'POST', data: JSON.stringify({ }), success: function (data) { }, error: function (error) { } }) }
Pjava
Curtidas 0
Respostas
Pjava
09/10/2014
Rodei isso no fiddle e funcionou.
Fiz isso em meu projeto e nada.
<div id="divDb" class="teste" style="background-color: green; color: white; font-size: 30px;"> Duplo clique aqui e vai funcionar! </div> $(document).ready(function () { $(".teste").dblclick(function () { alert("Alô Paulão, Funcionou!"); }); });
Fiz isso em meu projeto e nada.
function AtualizaTabela() { str = ""; $.ajax({ url: '/CadastroAcesso/AtualizaTabelaUsuario', datatype: 'json', contentType: 'application/json;charset=utf-8', type: 'POST', data: JSON.stringify({}), success: function (data) { $(data.result_usu).each(function () { str += '<tr>'; str += '<td data-field="id" class="col-md-4 clique">' + this.Nivel_Acesso1 + '</td>'; str += '<td data-field="name" class="col-md-4 clique">' + this.NM_Usuario + '</td>'; str += '<td data-field="price" class="col-md-4 clique">' + this.Usuario1 + '</td>'; str += '</tr>'; }) $('#nmUsuario').html(str); str = ""; }, error: function (error) { } }) } $(document).ready(function () { AtualizaTabela(); $(".clique").dblclick(function () { alert("Alô Paulão, Funcionou!"); }); })
GOSTEI 0
Pjava
09/10/2014
Criei essa table no fiddle e atribui a classe ao jquery funcionou, mas no meu projeto não. O problema acho, está aqui> $(document).ready(function.... Pois nada do que faço em qualquer parte do meu projeto, funciona essa função. Não sei o que está de errado. O jquery.2.1.0.min.js está incluso na página layout. Mas eu também chamei direto da página herdada e não funcionou. Só para acrescentar.
http://fiddle.jshell.net/pnet/3xckdycm/
http://fiddle.jshell.net/pnet/3xckdycm/
GOSTEI 0
Pjava
09/10/2014
Comecei a descobri algumas coisas. Quando a página é carregada, pelo debug, vi que a função jquery é chamada. Após o documento está totalmente carregado, aí, mesmo clicando na <td> não é chamado mais a função e o dblclick perde sua operacionalidade.
GOSTEI 0
Joel Rodrigues
09/10/2014
Coloque este código dentro da função success da chamada Ajax:
$(".clique").dblclick(function () { alert("Alô Paulão, Funcionou!"); });
GOSTEI 0
Pjava
09/10/2014
Resolvi da seguinte forma. Criei uma função para o duplo clique e chamo em cada duplo clique nas <td>. Dessa forma funcionou. Ao invés de usar o document.ready eu usei uma função sendo chamada de dentro da tag <td> assim. A função se chama duploclique.
$(data.result_usu).each(function () { str += '<tr>'; str += '<td data-field="id" class="col-md-4 clique" onclick=" return duploclique();">' + this.Nivel_Acesso1 + '</td>'; str += '<td data-field="name" class="col-md-4 clique" onclick=" return duploclique();>' + this.NM_Usuario + '</td>'; str += '<td data-field="price" class="col-md-4 clique" onclick=" return duploclique();>' + this.Usuario1 + '</td>'; str += '</tr>'; })
GOSTEI 0
Pjava
09/10/2014
Mudei para essa forma e funcionou, mas não consigo entrar no sucesso do ajax.
$('#nmUsuario').on("dblclick", '.clique', function() { alert('Alô, tudo bem?'); var obj = {}; $('tr').each(function () { obj = { _nivel: $(this).find('td').eq(0).text, _nome: $(this).find('td').eq(1).text, _usuario: $(this).find('td').eq(2).text } }) $.ajax({ url: '/CadastroAcesso/CarregaDadosPagina', datatype: 'json', contentType: 'application/json;charset=utf-8', type: 'POST', data: obj, success: function(data){ alert('Alô, tudo bem 1?'); }, error: function(error){ } }) })
GOSTEI 0
Pjava
09/10/2014
O que não consigo é pegar o valor da tag <TD> e enviar para o meu método na controller.
GOSTEI 0