2016-02-03 57 views
0

如何在点击按钮时重新加载#order?通过单击DIV内的按钮重新加载DIV

我有一个PHP文件,其中包括另一个PHP:

的index.php:

<div id="order"> 
<?php include('order.inc.php'); ?> 
</div> 

order.inc.php:

<div class="update_database" data-ref="1">Update</div> 
<div class="update_database" data-ref="2">Update</div> 
<script> 
    $('.update_database').click(function(){ 
    var target_id = $(this).attr('data-ref'); 
    var dataString = 'update=' + target_id; 
    $.ajax({ 
    type: 'post', 
    url: 'post.php', 
    data: dataString, 
    success: function(data) { 
    var result = $.trim(data); 
    if (result == 'success') { 
     $('#order').load('order.inc.php'); <= this is where I am having problem with 
    } else if (result == 'accept') { 
     // do something else 
    } else { 
     console.log(data); 
    } 
    }); 
    }); 
</script> 

我曾尝试包括脚本index.php并没有工作。

编辑:

简化和去除不相关的代码:

order.inc.php”

<div class="update_database" data-ref="1">Update</div> 
<div class="update_database" data-ref="2">Update</div> 
<script> 
    $('.update_database').click(function(){ 
    alert('clicked'); 
    $('#order').load('order.inc.php'); <= this is where I am having problem with 
    }); 
    }); 
</script> 
+0

你检查了结果的内容吗?另一个AJAX内的AJAX不是一个好主意。 –

+0

我很困惑你为什么要在另一个AJAX请求中发出一个AJAX请求*为什么不只是有一个AJAX请求? –

+0

是的。 dataString发布成功并且数据库中的信息得到更新。但我不得不手动重新加载页面,我不能导致我需要保持索引页面为其他原因激活 –

回答

0

试试这个(使用对象ID):

$(document).ready(function(){ 
    $("#button_id").change(function(){ 
    var data=$(this).val(); 
    var dataString = 'data'+data; 
    $.ajax({ 
     type: "POST", 
     url: "your_php_file.php", 
     data: dataString, 
     cache: false, 
     success: function(html){ 
     $("#content_destination_id").html(html); 
     } 
    }); 
    }); 
}); 

注意你可以使用按钮的值传递任何信息到您的PHP文件。

+0

对不起,我的错。他们是div而不是按钮,我有近一百个这样的按钮,所以使用对象ID可能没有帮助。 –

+0

您仍然可以使用这些DIV的ID ...但是如果您更喜欢类,则只需更改字符#即可。 (点) –

+0

根据结果重新加载div。我只需要重新加载,如果返回值=='成功',或者它会做别的事情。所以我不能简单地将结果作为html加载到DIV中 –