CodeIgniter - 用于加载视图的jQuery加载函数

时间:2012-01-11 13:43:08

标签: php jquery codeigniter

我的网页上有一个左栏 - 假设它显示了一个购物篮。当用户点击任何产品页面上的“添加到购物篮”按钮时,我想重新加载我的左侧块(购物篮),以便可以在页面左侧看到客户添加的新产品,而无需重新加载页。

当客户点击“添加到购物篮”按钮时,它已将产品放入购物篮,这不是问题,但我无法刷新左侧块。代码如下:

<script type="text/javascript">
function js_add_to_basket(){
    /* vars from form */
    var book_id = jQuery.trim($('#book_id').attr('value'));

    $.ajax({
        type:'POST',
        url : '<?=base_url().index_page()?>/basket/add_to_basket/'+new Date().getTime(),
        data : $('#add_to_basket').serialize(),
        success: function(q){
            $('#add_to_basket').html(q);
            $("#left_basket").load("*path*\inc_left.php #left_basket");
        }
    }) // end of ajax request
} // end of js_basket
</script>

left_basket是左侧块的整个div的id。我认为文件inc_left.php的路径出错了。无论我在那里写什么,它都行不通。该文件位于“views / inc / inc_left.php”的路径中。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

只是一个猜测,但你在视图views / inc / inc_left.php中有#left_basket吗?

当您正在将#left_basket视图/ inc / inc_left.php的唯一加载到#left_basket

如果您想从views / inc / inc_left.php加载完整的HTML,请使用以下代码:

$('#left_basket').load('views/inc/inc_left.php');

答案 1 :(得分:1)

您需要一个控制器方法来渲染左侧面板的内容,然后js可以使用诸如<?=base_url().index_page()?>/basket/content

之类的网址来访问它

答案 2 :(得分:0)

  

您必须输入两个jquery ajax函数。当用户点击“添加到购物篮”按钮时,这将更新购物台。第二个ajax函数用于从shoping table获取数据并在左侧显示它你想要的地方:))