Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rockbilly

[Resolvido] JQuery + Ajax! O JQuery não tá funcionando!

Recommended Posts

Hi everyone,

 

Seguinte pessoal, quando eu digito no input text da página pagina1.php, ele vai lá na pagina2.php e traz os dados para a pagina1.phpp e exibe através de uma div '#camada'. Até ai tudo beleza, pois a comunicação é feita através de AJAX + PHP. O problema é que o JQUERY não tá funcionando, eu notei que não funciona, porque as tags LIs estão na outra página (pagina2.php) e como na pagina1.php não tem LIs dentro da div '#camada' o script não funciona, não sei o que fazer, abaixo está o script para entenderem melhor!

 

pagina1.php

<script language="javascript" src="css/ajax.js"></script>
<script type="text/javascript" src="http://www.visualjquery.com/jquery-1.2.6.js"></script>
<script language="javascript">

$(document).ready(function() {
   $('#camada li').click(function() {
   alert($(this).html());

 });   
});

</script>

<form >
<p><label>Digite o nome do produto: </label>
<input type="text" onKeyUp="BuscaAjax(this.value)" size="45" name="nomeProd" id="nomeProd">

</form>

<div id="camada"></div>

 

pagina2.php


<?php
require_once("conecta.php");

$nome = $_POST['nomeProd'];

$SQL1 = mysql_query("SELECT nome FROM produto WHERE nome LIKE '%".$nome."%' ");
echo "<ul id=\"lista\">";
while ($reg = mysql_fetch_array($SQL1))
 {

 echo "<li>".$reg['nome']."</li>";

 }
echo "</ul>";
require_once("fecha.php");

?>

 

Alguém pode me dar uma ajuda em como resolver isso?

Grato a qualquer ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, você entendeu o problema:

 

-> javascript carregado com ajax não funciona

-> elementos que não existem no DOM no momento do document.ready, não terão os eventos atrelados (teu caso)

 

veja:

$('#camada li').click(function() {

use o método .live() do jQuery:

 

http://api.jquery.com/live/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito William!!!

Agradeço a sua ajuda, portanto código ficou assim:

 

$(document).ready(function() {
    $('#camada li').live('click',function() {
   alert($(this).html());

 });   
});

 

Tive que atualizar o meu jquery, pois a versão que eu estava usando era a jquery-1.2.6.js que não tinha o método live().

 

Grande Abraço colega!

Compartilhar este post


Link para o post
Compartilhar em outros sites

William,

 

Só mais um dúvida colega, se puder ajudar é claro, e é a última dúvida, porque que agora quando coloco uma variável não funciona?

 

$(document).ready(function() {
    $('#camada li').live('click',function() {
   var texto = $(this).html()); alert(texto); 
   //$('#nomeProd').val(texto);
 });   
});

 

Obrigado + 1 vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites
quando coloco uma variável não funciona?

não funciona oque ? o alert() ?

 

não sei, não faz sentido isso.

 

aperte Ctrl+Shif+J no Firefox, e veja se tem algum erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado William. Nem sabia que tinha esse "Ctrl+Shif+J" pra debugar o código.:)... tinha um parêntese a mais no "html())"!

Grande Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.