Jquery刷新没有按钮按下

时间:2013-09-07 05:36:39

标签: jquery timer

我们有以下jquery从后端.php脚本中获取数据。一切正常。需要帮助的是如何在没有按下按钮的情况下执行此操作但是每隔30秒或1分钟间隔执行同样的操作.Below是我们当前的脚本吗?

<script> 
$(document).ready(function() {
    $("#searchBtn").click(function(){
     $(this).attr('src', 'images/searching.png');

     var data = $(this).val();

     var dateFrom=document.getElementById("beginDate").value;
     dateFromArray=dateFrom.split("/");     
     var myDateFrom=new Date(dateFromArray[2],dateFromArray[1],dateFromArray[0]);

     var dateTo=document.getElementById("endDate").value;
     dateToArray=dateTo.split("/");                           
     var myDateTo=new Date(dateToArray[2],dateToArray[1],dateToArray[0]);

     mysqlDateFrom=dateFromArray[2]+"-"+dateFromArray[1]+"-"+dateFromArray[0];
     mysqlDateTo=dateToArray[2]+"-"+dateToArray[1]+"-"+dateToArray[0];     


     $.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
          $("#searchBtn").attr('src', 'images/search.png');
            $('#dbData').html(data);            
         }
     );
   }
   );
 }
);
</script>

3 个答案:

答案 0 :(得分:2)

<script> 
$(document).ready(function() {

function myfunc(){
 $("#searchBtn").attr('src', 'images/searching.png');

 var data = $("#searchBtn").val();

 var dateFrom=document.getElementById("beginDate").value;
 dateFromArray=dateFrom.split("/");     
 var myDateFrom=new Date(dateFromArray[2],dateFromArray[1],dateFromArray[0]);

 var dateTo=document.getElementById("endDate").value;
 dateToArray=dateTo.split("/");                           
 var myDateTo=new Date(dateToArray[2],dateToArray[1],dateToArray[0]);

 mysqlDateFrom=dateFromArray[2]+"-"+dateFromArray[1]+"-"+dateFromArray[0];
 mysqlDateTo=dateToArray[2]+"-"+dateToArray[1]+"-"+dateToArray[0];     


 $.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
  $("#searchBtn").attr('src', 'images/search.png');
    $('#dbData').html(data);            
  }
 );
  }

  myfunc();
  setInterval( function(){ myfunc(); } , 30000 );  

   });
 </script>

答案 1 :(得分:2)

使用setInterval()

$(function(){
    // set interval
    var tid = setInterval(mycode, 30000);
    function mycode() {
      // place your button click logic over here
    }
    function abortTimer() { // to be called when you want to stop the timer
      clearInterval(tid);
    }

});

答案 2 :(得分:1)

要在加载DOM时自动运行POST到PHP,请使用setInterval()函数,如下所示:

$(document).ready(function() {
    setInterval(function() {
        // Do something every 30 seconds
        $.post('getBK.php', {b: mysqlDateFrom,e: mysqlDateTo}, function(data){
            $("#searchBtn").attr('src', 'images/search.png');
                $('#dbData').html(data);            
            }
        );
    }, 30000);
);

注意:setInterval()的第二个值是间隔的时间(以毫秒为单位(因此30000表示30秒或60000表示1分钟)。