Jquerymobile添加动态可折叠div
可能重复:
动态添加可折叠元素
我想知道如何动态添加一个可折叠div,这样的事情可以用Jqm listviews完成,调用lisview(’refresh’)之后
这是测试代码:
http://jsfiddle.net/ca11111/UQWFJ/5/
编辑:在上面,它被附加和渲染,但多次
edit2:好像这样工作?
如何在初始化元素时省略refresh
(不刷新):
$('22
test').appendTo($('#coll div:first')); $('#coll').find('div[data-role=collapsible]').collapsible();
以下是JSFiddle的更新版本: http : //jsfiddle.net/UQWFJ/7/ (注意我将setTimeout
更改为setInterval
以不断向DOM添加新元素)
你也可以通过在变量中保存新元素来优化它,这样你就可以在该元素上调用.collabsible()
:
var $element = $('22
test').appendTo($('#coll div:first')); $element.collapsible();
这是一个有这种优化的JSFiddle: http : //jsfiddle.net/UQWFJ/9/
jQM文档:
增强新标记
页面插件调度一个pagecreate事件,大多数小部件都使用它来自动初始化自己。 只要引用了一个小部件插件脚本,它就会自动增强它在页面上找到的小部件的任何实例。但是,如果您通过Ajax生成新标记客户端或加载内容并将其注入页面,则可以触发create事件来处理新标记中包含的所有插件的自动初始化。 这可以在任何元素(甚至是页面div本身)上触发,从而节省了手动初始化每个插件(listview按钮,选择等)的任务。
例如,如果通过Ajax加载了一个HTML标记块(比如登录表单),则触发create事件以自动将它包含的所有小部件(在这种情况下为输入和按钮)转换为增强版本。 此方案的代码为:
$( ...new markup that contains widgets... ).appendTo( ".ui-page" ).trigger( "create" );
我不确定这是否是您想要的,但如果您想要做的就是能够动态添加可折叠div,您可以在代码端执行此操作。 例如,我使用aspx.vb,但如果你使用其他语言,你可以根据自己的情况轻松调整。 在.aspx(html代码)中编写这行代码,您希望在其中显示动态html代码。
完成后,右键单击屏幕并选择“查看代码”
然后你添加它
Protected Sub page_load(ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dynamic() End Sub Public Sub Dynamic() Dim strHtml As New StringBuilder Dim strJava As New StringBuilder Dim dblNumCollapsibles As New Double dblNumCollapsibles = 7 For i = 1 To dblNumCollapsibles strHtml.Append("" _ & "Title of Collapsible
" _ & "" _ & "The text inside of the Collapsible" _ & "
" _ & "") Next Me.CollapseMe.Text = strHtml.ToString
这将动态添加7个可折叠div列表栏。 您可以通过更改“dblNumCollapsibles”来更改此设置
创建可折叠div的html动态添加到某个div并在该div调用.trigger(’create’)$(div).trigger(’create’)这将创建该div并呈现可折叠div