- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bom dia!
Eu utilizo bootstrap e não estou conseguindo capturar um atributo de uma litsview que estou criando. Onde estou fazendo errado conforme meu código abaixo:
$.each(registros, function(c, clientes){
// Montar linha do relatório (item)...
var item = '<ul class="list-group" >' +
'<li class="list-group-item">' +
'<span class="badge">' + clientes.codigo + '</span>' +
'<h3>' + clientes.razao_social + '</h3>' +
'<p><h4>' + clientes.fantasia + '</h4></p>' +
'<p><h4>' + clientes.cnpj_cpf + '</h4></p>' +
'<data-codigo="'+clientes.codigo+'">' +
'</li>' +
'<ul>';
alert("atributo : " + $(item).attr('data-codigo')); // sempre está retornando nul
$("#lvClientes").append(item);
}
O retorno sempre é nulo, já testei de várias formas e não consegui êxito. );
Se alguém puder me ajudar ficaria grato.
Rafael Moroni
- Tags:
- HTML5
- Intel® XDK
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rafael,
You are trying to get the attribute with jquery from a javascript variable:
$(item).attr('data-codigo')
item is not a DOM element.
Is not clear to me your intention, at the place of the alert() you can use the value of clientes.codigo
Regards
Diego
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
data-codigo is not an atrribute but instead a DOM element. In order to access this element, use this line $(li > data-codigo).
You find more information on jQuery find and get methods at http://www.w3schools.com/jquery/traversing_find.asp.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Olá,
obrigado pelas respostas. Irei verificar onde está o problema.
Abraços
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Olá,
na verdade o que eu preciso é do seguinte:
/* listitem #liComClientes */
$(document).on("click", "#liComClientes",
function(evt){
// Selecionar todos os registros de clientes...
dao.selectAll("clientes", function(registros){
// Limpar relatório (lvClientes)...
$("#lvClientes").empty();
// Percorrer CADA registro encontrado...
$.each(registros,
function(c, clientes){
// Montar linha do relatório (item)...
var item = '<ul class="list-group" >' +
'<li class="list-group-item">' +
'<span class="badge">' + clientes.codigo + '</span>' +
'<h3>' + clientes.razao_social + '</h3>' +
'<p><h4>' + clientes.fantasia + '</h4></p>' +
'<p><h4>' + clientes.cnpj_cpf + '</h4></p>' +
'<data-codigo="'+clientes.codigo+'">' +
'</li>' +
'<ul>';
$("#lvClientes").append(item);
);
// Ir para tela de relatório...
activate_page("#pgComercialClientes");
}
);
}
);
/* listitem #lvClienteso > li */
$(document).on("click", "#lvClientes",
function(evt){
// Capturar o código do cliente clicado...
var codigo = $(this).attr("data-codigo");
// Montar SQL pra buscar dados do cliente no banco de dados..
var sql = "select * from clientes where codigo = " + codigo;
// Buscando os dados na tabela...
dao.query(sql, function(registros){
// Validar registro do cliente...
if(registros.rows.length>0){
// Capturando dados retornado...
var clientes = registros.rows.item(0);
// Carregar detalhes do cliente (página #pgComCliDetalhes)...
$("#detalhesCliente").parent().find(".formGroupHead").text(clientes.razao_social.toUpperCase());
$("#clienteFantasia").text(clientes.fantasia);
$("#clienteCNPJCPF").text(clientes.cnpj_cpf);
activate_page("#pgComCliDetalhe");
}else{
navigator.notification.alert("Nenhum registro encontrado.","INFORMAÇÃO",null,"OK");
}
});
});
quando eu clico na ListView o resultado da linha 34 é null
var codigo = $(this).attr("data-codigo");
Me desculpem, sou iniciante em HTML/Javascript, mas eu não consegui resolver este meu problema.
Abraços,
Rafael Moroni
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Rafael,
Seems that jquery doesn't get data-codigo as <li> item attribute, try modifying line 13 like this:
'<li class="list-group-item" data-codigo="'+clientes.codigo+'">'
And remove line 18.
Regards,
Diego
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oi Diego,
esta tentativa eu já tinha realizado, não funcionou.
Rafael
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page