2013-07-15 39 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