2015-09-15 141 views
1

我使用jquery/ajax和php进行主动/停用状态,它的工作方式类似于当用户点击主动变为停用时,反之亦然,我可以运行这个,但有时候我点击主动和取消按钮它连续加载整个div部分。Jquery Refreshing Div只有一次

我的要求是在点击主动/禁用状态后,div应该只加载一次,并且应该停止递归地闪烁2到3次!

while($row = $data->fetch_arry(MYSQLI_ASSOC)) 
{ ?> 
    <div> 
     <?php if($row['status'] == '1'){?> 
     <a class='btn btn-success active'></a> 
     <?php else if($row['status'] == '0')?> 
     <a class='btn btn-danger deactive'></a> 
     <?php } ?> 
    </div> 
<?php } ?> 

jQuery代码

$('body').delegate('.active','click',function(e){ 
    var IDstatus = 0; 
    $.post('status.php',{ 
     status:IDstatus 
    },function(e){ 
     $('#div_load').load('#div_load'); 
    }) 
}) 

$('body').delegate('.deactive','click',function(e){ 
    var IDstatus = 1; 
    $.post('status.php',{ 
     status:IDstatus 
    },function(e){ 
     $('#div_load').load('#div_load'); 
    }) 
}) 

我只希望我的#div_load应该改变我的身份后刷新一次!

任何帮助表示赞赏谢谢!

+0

你试图在自己的'load'元素上这是非常无效的。 'load'应该用来加载外部文件元素及其'ajax'种类 –

+0

@GuruprasadRao谢谢!!我改变了它('#div_load')。load('demo.php');仍然是它的加载/闪烁 – Sjay

+0

尝试使用'$ .when'和'.done'加上'$ .post'并将'$ .load'写入'.done'中 –

回答

1

尝试使用以下

$(document).rady(function(){ 
$(".active").click(function(){ 
    $.ajax({ 
    url: "status.php", 
    data:{status:1}, 
    dataType:'html', 
    success: function(result){ 
     $('#div_load').html(result); 
    } 
    }); 
});$(".deactive").click(function(){ 
    $.ajax({ 
    url: "status.php", 
    data:{status:0}, 
    dataType:'html', 
    success: function(result){ 
     $('#div_load').html(result); 
    } 
    }); 
}); 

});

不要使用load()...它就像ajax一样。只是将数据从你想要加载的服务器中传送出去

+0

谢谢你的代码..我使用ur代码它工作鳍,但我得到更新成功html msg它将被更新后仍然不错,保持在同一页面任何帮助赞赏谢谢! – Sjay

+0

我想帮忙。但我无法理解你想告诉你什么。你可以编辑你的文章并更新你当前的脚本。 –