Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No consigo que funcione en el primer click

Estas en el tema de No consigo que funcione en el primer click en el foro de Frameworks JS en Foros del Web. Hola. Construyo con jquerymobile una lista de enlaces, que corresponden a elementos, los cuales posteriormente quiero editar o consultar. necesito saber el "id" del elemento ...
  #1 (permalink)  
Antiguo 30/04/2012, 02:43
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
No consigo que funcione en el primer click

Hola.
Construyo con jquerymobile una lista de enlaces, que corresponden a elementos, los cuales posteriormente quiero editar o consultar.
necesito saber el "id" del elemento que pulso, para luego, mostrar al abrir la página, el correspondiente elemento.

El problema que tengo es que la primera vez qe hago click, me decuelve id vacío, pero a partir de ahí, la segunda y posteriores, ya sí funciona bien.

¿Qué puedo hacer para que funcione a la primera?
Aquí parte del código:

Código:
//cargamos la lista de valores
function cargarListaTrabajadas(){
	//Eliminamos el listado para construirlo de nuevo
	$('#trabajadas div[data-role="content"] ul').remove();
	$('#trabajadas div[data-role="content"]').html("<ul data-role='listview' data-theme='c'></ul>");
	//Obtenemos los ids almacenados
	var listaItemIds = getListaTrabajadasIds();
	var code = ""; 		
	// Get the HTML code for the list of items.				
	for(item in listaItemIds)
	{
		var jsonData = localStorage.getItem(listaItemIds[item]);
		if(jsonData)
		{
			var data = JSON.parse(jsonData);
			var html = "<li id='" + data.clave + "'><a id='" + data.clave + "' href='#vertrabajada'>" + "<h3>" + data.fecha + "</h3>" +   "<span class='ui-li-count'>"+ data.tiempoEntrada + "</span>"  +  "<p>"+ data.horainicio + " - " + data.horafin + "</p>"  + "</a></li>";	
			code += html;
		}
	}
	$('#trabajadas div[data-role="content"] ul').html(code);
	
}

//Cargar el item Trabajada para visualizarlo
$( document ).delegate("#vertrabajada", "pagebeforecreate", function() {
	$('#trabajadas div[data-role="content"] ul[data-role="listview"] li a').click(function(){
		var idTrabajadaOpen = this.id;
		var jsonData = localStorage.getItem(idTrabajadaOpen);
		if(jsonData)
		{
			var data = JSON.parse(jsonData);
			$('#vertrabajada div[data-role="content"] input[id="clave"]').val(data.clave);
			$('#vertrabajada div[data-role="content"] input[id="tiempoentrada"]').val(data.tiempoEntrada);
			$('#vertrabajada div[data-role="content"] input[id="fecha"]').val(data.fecha);
			$('#vertrabajada div[data-role="content"] input[id="horainicio"]').val(data.horainicio);
			$('#vertrabajada div[data-role="content"] input[id="horafin"]').val(data.horafin);
			$('#vertrabajada div[data-role="content"] input[id="festivo"]').val(data.festivo);
			$('#vertrabajada div[data-role="content"] textarea[id="comentario"]').val(data.comentario);
		}
	});	
});
Gracias.

Etiquetas: jquery
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:05.