当我点击index.php的下一个butoon时,jquery执行其工作,提醒并加载div'result'中check.php的内容。
但是,现在当我再次点击下一个按钮时没有任何反应,没有警报,为什么?我想要再次显示那个警报,并且jquery应该加载check.php,就像第一次点击一样。这是我的代码:
这是index.php
<?php
session_start();
?>
<html>
<head>
<script src="js/jquery-1.3.2.js"></script>
<script>
$(document).ready(function()
{
$("button[name='next']").click(function() //when button clicked
{
var count= $('button[name=next]').val(); //value of button
alert('button clicked');
$.ajax(
{url:"check.php",type: "POST",data: 'count='+ count,success:function(result)
{
$("#result").html(result);
}
});
});
});
</script>
</head>
<body>
<?php $_SESSION['count']='0'; ?>
<div id="result">
<button name="next" value="<?php echo ($_SESSION['count']);?>">Next</button>
</div>
</body>
</html>
这是check.php
<?php
session_start();
$_SESSION['count']=$_POST['count']+1;
?>
<button name="next" value="<?php echo ($_SESSION['count']);?>">Next</button>
答案 0 :(得分:1)
尝试这样的事情
$("#result").on('click',"button[name='next']",function(){
//.... your code goes here
}
原因:您在按钮上应用的点击事件被新按钮替换,该按钮没有点击事件绑定到它。
解决方案:
答案 1 :(得分:0)
如果您只想更新val()
的{{1}},您可以回复php文件中的值并更新它,而不是每次都重写按钮标记。
我更喜欢这样做
$('button[name=next]')
<强> PHP 强>
$.ajax({
url:"check.php",
type: "POST",
data: 'count='+ count,
success:function(result){
$('button[name=next]').val(result);
// $("#result").html(result);
}
});
答案 2 :(得分:0)
$(document).on('click',"button[name='next']",function()
这应该有效