JQuery - Problema con carga de contenido

   
Vista:

Problema con carga de contenido

Publicado por Charly (5 intervenciones) el 22/11/2012 11:20:48
Buenas.

Tengo un problema que no consigo solucionar y en principio el tema no es muy complicado pero no se muy bien que es lo que está pasando.

Simplemente tengo un enlace que cuando pincho me carga un contenido externo, el contenido externo es un .php que tan solo contiene dos listas desplegables. Estas listas desplegables su función es que dependiendo de la talla que selecciones en la primera lista, se carga una serie de colores en la segunda lista, todo esto con su correspondiente llamada a la base de datos.

Para entendernos la página principal se llama "carga.php" y la del contenido externo se llama "tallas.php" pues bien, el problema viene que si directamente pongo tallas.php la aplicación funciona, pero en el momento que la cargo desde el enlace de "carga.php" en un div ya no me funciona.

Espero haberme explicado, el problema es que cuando cargo una función directamente funciona, en el momento que la quiero cargar dentro de un div a través de un enlace, no me funciona.

Espero desesperadamente su ayuda, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema con carga de contenido

Publicado por xve (557 intervenciones) el 22/11/2012 12:50:03
Hola Charly, nos puedes mostrar el código??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con carga de contenido

Publicado por Charly (5 intervenciones) el 22/11/2012 13:00:00
Mira este es el código de la página "carga"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script language="JavaScript" type="text/javascript" src="../js/codigo.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>
 
<script type="text/javascript">
 
			/*$(document).ready(function(){
            $(window).load(function(){
                $("#select1").change(function(event){
                    var id = $("#select1").find(':selected').val();
                    $("#select2").load('genera-select.php?id='+id);
                });
            });*/
	$(window).load(function(){
$("#select1").bind("change",function(event){
var id = $("#select1").find(':selected').val();
$("#select2").load('genera-select.php?id='+id);
});
});
</script>
</head>
 
<body>
<div><a href="javascript:llamarasincrono('funciona.php', 'pag');">cargar</a></div>
<div id="pag"></div>
 
 
</body>
</html>



Y este es el código de la página "Tallas.php"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript" src="../js/jquery.js"></script>
<script language="JavaScript" type="text/javascript" src="../js/codigo.js"></script>
<script type="text/javascript">
 
			/*$(document).ready(function(){
            $(window).load(function(){
                $("#select1").change(function(event){
                    var id = $("#select1").find(':selected').val();
                    $("#select2").load('genera-select.php?id='+id);
                });
            });*/
	$(window).load(function(){
$("#select1").bind("change",function(event){
var id = $("#select1").find(':selected').val();
$("#select2").load('genera-select.php?id='+id);
});
});
</script>
 
</head>
 
<body>
<form>
            <select name="select1" id="select1">
            <option value="1">selecciona</option>
                <option value="S">S</option>
                <option value="M">M</option>
                <option value="L">L</option>
                <option value="XL">XL</option>
            </select>
            <select name="select2" id="select2">
 
            </select>
        </form>
 
</body>
</html>


Como comentaba si cargo directamente en el navegador "tallas.php" funicona pero si lo quiero cargar dentro de un div no me funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problema con carga de contenido

Publicado por xve (557 intervenciones) el 22/11/2012 14:10:53
Hola Charly, lo que nos faltaría es el código del archivo funciona.php, que es el que llena el contenido de los <select>, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con carga de contenido

Publicado por Charly (5 intervenciones) el 22/11/2012 15:55:00
Si, el archivo "funciona.php" es el mismo que "tallas.php" lo único que aquí lo he cambiado de nombre. Lo que rellena el select es la funciona que ves en "tallas.php" esta misma página si la llamo directamente desde el navegador, me funciona perfectamente, el problemas es a la hora de llamarla para colocarla en un div. Te pongo la programación que hace la llamada que es "genera-select.php"

<?php
include 'variables.php';
/*$dbh = mysql_connect("localhost", $user, $pass);
$db = mysql_select_db($bbdd);*/

$link = mysql_connect($maquina, $usuario, $contrasena);
mysql_select_db($nombre_bd, $link);

$talla=$_GET['id'];

$Si="si";

$consulta = "SELECT * FROM colores WHERE $talla = '$Si'";
echo $consulta;
$query = mysql_query($consulta, $link);
if ($fila = mysql_fetch_array($query)) {}
/*while ($fila = mysql_fetch_array($query)) {*/
$i=1;

do {
echo '<option value="';echo $fila['nombre_color'];echo'">';echo $fila['nombre_color'];echo'</option>';
$i++;
}

while ($fila = mysql_fetch_array($query));

?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con carga de contenido

Publicado por Carlos (5 intervenciones) el 22/11/2012 15:57:59
Para que lo veas más claro, no solo me pasa en este caso. Cada vez que cargo un .php externo y dentro de este hay una función o algo en jquery no me funciona, sin embargo, cuando lo cargo directamente me funciona bien.

Ese es mi problema principal, que cuando cargo algo externo, luego si quiero poner alguna función ahí, no funciona.

Espero haberme explicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problema con carga de contenido

Publicado por xve (557 intervenciones) el 22/11/2012 16:22:47
Creo que ya he visto donde tienes el error....

En vez de hacer:
1
$(window).load(function(){


Pon el id de donde quieras que cargue la pagina:
1
$("#pag").load(function(){


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con carga de contenido

Publicado por Charly (5 intervenciones) el 22/11/2012 17:19:36
Ok he probado y nada, te pongo la programación conforme la he puesto ahora, pero me sigue sin funcionar, la verdad es que me tiene bastante desconcertado esto.

Agradezco mucho tu ayuda.


principal.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script language="JavaScript" type="text/javascript" src="../js/codigo.js"></script>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript">
 
		/*$(document).ready(function(){
            $(window).load(function(){
                $("#select1").change(function(event){
                    var id = $("#select1").find(':selected').val();
                    $("#select2").load('genera-select.php?id='+id);
                });
            });*/
	$("#pag").load(function(){
$("#select1").bind("change",function(event){
var id = $("#select1").find(':selected').val();
$("#select2").load('genera-select.php?id='+id);
});
});
</script>
</head>
 
<body>
<div><a href="javascript:llamarasincrono('funciona.php', 'pag');">cargar</a></div>
<div id="pag"></div>
 
</body>
</html>


funciona.php

1
2
3
4
5
6
7
8
9
10
11
12
<form>
            <select name="select1" id="select1">
            <option value="1">selecciona</option>
                <option value="S">S</option>
                <option value="M">M</option>
                <option value="L">L</option>
                <option value="XL">XL</option>
            </select>
            <select name="select2" id="select2">
 
            </select>
        </form>


genera-select.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
include 'variables.php';
/*$dbh = mysql_connect("localhost", $user, $pass);
$db = mysql_select_db($bbdd);*/
 
$link = mysql_connect($maquina, $usuario, $contrasena);
mysql_select_db($nombre_bd, $link);
 
$talla=$_GET['id'];
 
$Si="si";
 
$consulta = "SELECT * FROM colores WHERE $talla = '$Si'";
echo $consulta;
$query = mysql_query($consulta, $link);
if ($fila = mysql_fetch_array($query)) {}
/*while ($fila = mysql_fetch_array($query)) {*/
    $i=1;
 
   do {
	echo '<option value="';echo $fila['nombre_color'];echo'">';echo $fila['nombre_color'];echo'</option>';
	$i++;
          }
 
while ($fila = mysql_fetch_array($query));
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Problema con carga de contenido

Publicado por xve (557 intervenciones) el 22/11/2012 20:40:15
Hola Charly, haber, no puedes ejecutar la instruccion .load() de jquery sin pasarle una url... http://api.jquery.com/load/ revisa la documentación veras que siempre tienes que pasarle un url...

La verdad es que no entiendo tu código, no se muy bien que quieres hacer, pero cargar el contenido de una pagina en un div, puede ser tan sencillo como esto:

1
2
3
4
<div id='contenido'>
<script type="text/javascript">
$("#contenido").load("archivo.php");
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar