2013-07-15 55 views
1

我正在使用jQuery UI佈局插件(http://layout.jquery-dev.net/)。我需要根據某些參數在模態窗口上加載佈局。所以在事件我做這樣的事情:jQuery佈局插件 - 動態創建佈局

$('<div id="container"><div class="ui-layout-west"> <div class="left-panel"><div class="fuelux">Somthing here</div> </div> </div> <div class="ui-layout-center">Something else here </div></div>').layout(); 

我不知道爲什麼它不建立佈局。插件是否支持類似的東西?..

幫助表示讚賞。

+0

當然,這應該工作。但是,您是否實際將內容添加到頁面?我希望他們在打電話給佈局之前需要成爲dom的一部分。 –

+0

是的,我將內容添加到模態。所以我想我必須先創建對話框,然後查找#content並調用layout()? – user1791567

+0

基本上,是的。看@ cfs的答案和評論。 –

回答

1

您需要先將HTML添加到DOM,然後初始化佈局。在下面的例子中,我加入容器中body,但你可以在DOM將其添加到任何元素:

$('<div id="container"><div class="ui-layout-west"> <div class="left-panel"><div class="fuelux">Somthing here</div> </div> </div> <div class="ui-layout-center">Something else here </div></div>').appendTo('body').layout(); 

Working Demo

+0

注意,你也可以只是做'$( '

Somthing here
Something else here
').appendTo(' 主體')佈局() ' –

+0

不錯......我不確定appendTo會返回什麼;但你是對的,我會更新,以節省不必要的查找 – cfs

+0

它似乎工作..部分..因爲現在我所有的佈局消失。 。 $( '

').append($ expressionEditor).appendTo(' 主體')對話框({ 模式:真, 按鈕:{ .... }, 開:函數(事件,} { $(this).find('#container')。layout(); } }); – user1791567