2013-01-12 139 views
3

我正在研究JQuery Mobile应用程序。我在页面加载时动态添加HTML。这里显示了一个修剪下来的示例:通过JQuery Mobile动态添加按钮

var h = ""; 
for (i=1; i<=5; i++) { 
    h += "<div>Entry #" + i + "</div>"; 
    h += "<div class='ui-grid-a'>"; 
    h += "<div class='ui-block-a'><input type='button' value='Approve' onclick='return approveButton_Click(this);' /></div>"; 
    h += "<div class='ui-block-b'><input type='button' value='Reject' onclick='return rejectAbuse_Click(this);' /></div>"; 
    h += "</div><hr />"; 
}); 
$("#entries", "#myPage").append(h); 

我的HTML出现在UI中。但是,这些按钮并不是典型的JQuery Mobile按钮。相反,它们看起来像传统的HTML按钮。如何获得动态添加的按钮以应用JQuery移动样式?

谢谢

回答

7

下面是一个工作示例出你的代码:http://jsfiddle.net/Gajotres/NuCs2/

在刷新按钮之前,必须先使用.button()函数初始化它。就像这样:

$("#approve"+i).button().button('refresh'); 
$("#reject"+i).button().button('refresh'); 

还有另一种解决方案,但你应该只使用它,如果你现在重新创建一个整页:

$("#index").trigger("pagecreate"); 

而这里的第二个解决方案为例:http://jsfiddle.net/Gajotres/mpFJn/

如果你想了解更多关于标记增强的方法,看看我的其他ARTICLE,让我透明,这是我的个人博客。或找到它HERE

+2

是否有理由初始化和刷新小部件?由于HTML刚刚添加到DOM中,因此不需要刷新任何内容。或者我出于某种原因离开了基地?此外,您的第一个JSFiddle显示404错误。 – Jasper