2011-04-21 104 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

相關問題