在ajax上获取php发布的id

时间:2013-09-27 18:47:28

标签: php jquery

我添加了两个按钮,1个在html上,1个在php上.... 通过使用ajax获取第二个按钮..

但是当我向按钮添加事件时,html页面上的那个只能工作......需要一些帮助......

HTML

<input type="button" value="button 1" class="btn">
 <div id="div"><div>
<script>
$.ajax({
  url:"btn2.php", success:function(data){
  $('#div').html(data);}
});

$('.btn').click(function(){
    alert("button is wrking");
});

</script>

PHP

<?php

echo"<input type='button' value='button 2' class='btn'>";
?>

任何人都可以帮助我

3 个答案:

答案 0 :(得分:0)

您的PHP代码会导致语法错误。将其输出为字符串:

<?php
  echo '<input type="button" value="button 2" class="btn">';
?>

甚至不需要PHP:

<input type="button" value="button 2" class="btn">

另一个问题是你的jQuery代码不起作用,因为它选择了函数调用时出现的元素,但之后你的按钮将被加载(异步)!

$( "#div" ).on( "click", ".btn", function() {
  alert("button1 is working");
});

答案 1 :(得分:0)

请不要将html代码括在<?PHP ?>代码

如果你简单地放

<input type="button" value="button 2" class="btn">

在你的ajax目标页面(btn2.php)中它会起作用。

更新

要使已定义的click handler也适用于加载了ajax的内容 使用

$('.btn').live('click', function({ alert(1); }));

答案 2 :(得分:0)

将您的点击事件绑定在ajax响应中或使用.on()作为@ComFreek建议

$.ajax({
  url:"btn2.php", 
success:function(data){
  $('#div').html(data);
$('.btn').click(function(){
    alert("button1 is wrking");
}); 
}
});