gpt4 book ai didi

jquery - 动态添加 ListView 不会渲染 jQuery Mobile CSS

转载 作者:行者123 更新时间:2023-12-01 06:37:02 25 4
gpt4 key购买 nike

我正在向 jQuery 移动可折叠网格添加一个包含列表项的 ListView 。这是我的 Default.js 代码

$(document).ready(function () {


var appNames = getApprovalNames(phone, pin);

for (var i = 0; i < appNames.length; i++) {

var header = '<h3>' + appNames[i].Name + '</h3>';

var ulHeader = '<ul data-role="listview" id="myAppsSectionGridTable">';

var approvals = getApprovalInformation(phone, pin, appNames[i].Name);

var listArray = new Array();


for (var j; j < approvals.length; j++) {

var link = '<li><a href="' + 'NickData' + '"' + '><img src="';
var detailHeader = '" alt="" class="ui-li-icon"/>' + '<h3>' + 'NickData' + '</h3>';
var detail = '<p>' + 'NickData' + '</p>' + '</a>' + '</li>';

var list_item = link + detailHeader + detail;

listArray.push(list_item);

}

var entire_list = null;

for (var y in listArray) {

entire_list = entire_list + listArray[y];

}

$('#accMain').append(header + ulHeader + entire_list + '</ul>');

}

});

此代码在屏幕上显示数据,但屏幕上的任何位置都没有 jQuery mobile css。另外,当我在源代码中查看它时,我没有在其中看到我新创建的标记。我是否在错误的事件中添加了此内容?如果我只是对页面中的标记进行硬编码,一切都会正常。它与动态添加 jQuery 移动标记有关。

<asp:Content ID="HContent" ContentPlaceHolderID="HeadContent" runat="server">

<script src="Js/Pages/Default.js" type="text/javascript"></script>

</asp:Content>
<asp:Content ID="THContent" ContentPlaceHolderID="TopHeaderContent" runat="server">
<h1>
Applications</h1>
</asp:Content>
<asp:Content ID="MContent" ContentPlaceHolderID="MainContent" runat="server">

<div id="accMain" data-role="collapsible" data-inset="false" data-collapsed="false">

</div>

</asp:Content>

此母版页正文是..

<body>

<div data-role="page" data-theme="b">

<div data-role="header" data-position="fixed">

<asp:ContentPlaceHolder ID="TopHeaderContent" runat="server"></asp:ContentPlaceHolder>


</div><!-- /header -->

<div data-role="content">

<asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>

</div><!-- /content -->

<div data-role="footer" data-position="fixed">
<asp:ContentPlaceHolder ID="FooterContent" runat="server"></asp:ContentPlaceHolder>


</div><!-- /footer -->

</div><!-- /page -->

</body>

最佳答案

您需要调用listview方法

$('#mylist').listview()

如果您只是向现有 ListView 添加内容,则调用 refresh 方法

$('#mylist').listview('refresh');

有时您可能需要在 pageshow 事件中调用它,如下所示

 $('#myPage').on('pageshow', function() {
try
{
$('#mylist').listview('refresh');
} catch (e) {
$('#mylist').listview();
}
});

如果您要添加多个需要增强的小部件/项目,那么您可以尝试触发创建事件

$('#myPage').trigger('create');

关于jquery - 动态添加 ListView 不会渲染 jQuery Mobile CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12162965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com