2011-04-21 71 views
0

想象我有以下“部分”,其通过一堆视图生成:与jQuery从另一个控制器视图替换DIV

<div id="funstuff"> 
<div>1</div> 
<div>2</div> 
<div>3</div> 
<div>4</div> 
</div> 

通过笨的使用情况,我可以重复使用次(我做很多),我想动态地用另一个视图中的内容替换'funstuff'div。它的控制方法仍然是在同一个班级:

class FunnyThings extends CI_Controller { 

    public function index() { 
    $this->load->view('funpage_view'); 
    } 

    public function funview() { 
    $this->load->view('fun_partial_view'); 
    } 
} 

基本上,使用jQuery我可以用不同的内容替换这一观点:

$('#funstuff').replaceWith('<div><h2>New heading</h2></div>'); 

但是,我怎么可以从另一种观点的内容,动态并将其替换为我选择的div?

感谢,

回答

2

jQuery有所谓load()这一个方便的方法,请参阅http://api.jquery.com/load/更多的信息。

在你的情况,该行会去是这样的:

$('#funstuff').load('FunnyThings/funview'); 

哪里FunnyThings/funview是相对URL到控制器。

+0

精湛,正是我一直在寻找! – Shyam 2011-04-21 13:02:01

1

假设你知道其他视图的idclass,你可以这样做:

// if you know the class name (other-view) 
    $('#funstuff').replaceWith($(".other-view")); 

// if you know the id (other-view)  
    $('#funstuff').replaceWith($("#other-view")); 
+0

这将是本地的,因为另一个答案指出,.load()方法做Ajaxified形式,因为我需要它:)谢谢,虽然! – Shyam 2011-04-21 13:02:58

+0

对不起,我没有完全读你的问题。显然,如果你想加载一个外部资源,你必须使用'.load()'方法。 – 2011-04-21 13:04:15

相关问题