Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
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!
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!
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.
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!
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/