Foros del Web » Programando para Internet » Jquery »

problemas con $("").html() + jquery

Estas en el tema de problemas con $("").html() + jquery en el foro de Jquery en Foros del Web. hola a todos, aca pasa algo extraño con jquery, mira este codigo todo funciona bien, excepto para parte $("#side_bar").html(side_bar_html); que no me agrega nada al ...
  #1 (permalink)  
Antiguo 08/02/2011, 11:38
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
problemas con $("").html() + jquery

hola a todos, aca pasa algo extraño con jquery, mira este codigo
todo funciona bien, excepto para parte
$("#side_bar").html(side_bar_html);
que no me agrega nada al div de id=side_bar,
sin embargo el alert(side_bar_html) si me muestra el contenido de side_bar_html

alguna idea, el firebug me dice ReferenceError: side_bar_html is not defined
http://localhost/xml/todo.php
Line 0

pero como entonces el alert si lo muestra ????
como debería hacer entonces ????

uso jquery 1.4.4


var side_bar_html = "";
var gmarkers = [];
var lastlinkid;

$.ajax({
type: "GET",
url: "todos.xml",
dataType: "xml",
error: function(){
alert('Error loading XML document');
},
success: function(xml) {
$(xml).find('inmueble').each(function(){
var id = $(this).attr('id');
var lat = $(this).attr('lat');
var lng = $(this).attr('lng');
var html = id +"<br />";
html+= $(this).attr('dir')+"<br />";
var point = new GLatLng(lat,lng);
var marker = createMarker(point, html)
map.addOverlay(marker);
});
alert(side_bar_html);
$("#side_bar").html(side_bar_html);
}
});


function createMarker(point,html) {
var marker = new GMarker(point);
var linkid = "link"+(gmarkers.length);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
lastlinkid=linkid;
});
gmarkers.push(marker);
side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
return marker;
}

function myclick(i) {
GEvent.trigger(gmarkers[i], "click");
}
  #2 (permalink)  
Antiguo 08/02/2011, 11:45
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 08/02/2011, 11:48
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: problemas con $("").html() + jquery

alguna idea ?
  #4 (permalink)  
Antiguo 09/02/2011, 13:02
 
Fecha de Ingreso: enero-2010
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: problemas con $("").html() + jquery

Intenta lo siguiente, reemplaza la linea:

$("#side_bar").html(side_bar_html);

Por

$("#side_bar").html('Texto de prueba');

Si ne muestra el texto en el DIV con ID Side_bar significa que probablemente ese ID lo tienes definido mas de una vez.

La forma de solucionarlo es:
1.- Cambiar el nombre
2.- Al div darle class="side_bar" y reemplazar la linea del html por: $(".side_bar").html(side_bar_html);

Cuéntame como te va, saludos.
  #5 (permalink)  
Antiguo 09/02/2011, 13:24
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: problemas con $("").html() + jquery

bueno ya lo resolví, lo que hice fue que dentro de la funcion createMarker
puse esto

side_bar_html +='<a href="#" id="'+(gmarkers.length-1)+'" class="marker" >' + name+ '</a><br/>';
$("#side_bar").html(side_bar_html);

$(".marker").click(function(){
var id = $(this).attr('id');
GEvent.trigger(gmarkers[id], "click");
//alert(id);
});
y con eso ya anda, parece ser que llamaba primera a la funcion sin aun haberse creado los enlaces o algo asi..


gracias por tu ayuda.

Etiquetas: Ninguno
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 09:01.