为什么在第一次点击按钮后Jquery脚本不能执行?

时间:2014-01-18 06:57:12

标签: php jquery

当我点击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>

3 个答案:

答案 0 :(得分:1)

尝试这样的事情

     $("#result").on('click',"button[name='next']",function(){
        //.... your code goes here
     }

原因:您在按钮上应用的点击事件被新按钮替换,该按钮没有点击事件绑定到它。

解决方案:

  1. 在新创建的[动态创建]上应用点击事件。请参阅上面的代码[jquery中的 on() 函数]
  2. 请勿更换按钮,只能替换您的内容。

答案 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()

这应该有效