这是我的代码:http://jsfiddle.net/YKvR3/34/
我将用我的数组(name)中的值创建一个控制组。问题是,当我单击load按钮时,这些值会被添加到一个控制组中,但是jquery-ui样式并没有像图像中那样被加载。控制组没有使用jquery-ui移动css设置样式。
$("#load").click(function(){
var name=["one","two"];
var html='<fieldset id="listPlayers" data-role="controlgroup"><legend><h1>Choose as many players as youd like to remove:</h1></legend>';
for ( var int = 0; int < 2; int++) {
html+='<input type="checkbox" name="checkbox-'+int+'a" id="checkbox-'+int+'a" class="custom" /><label for="checkbox-'+int+'a">'+name[int]+'</label>';
}
alert('<legend><h3>Choose as many players as you would like to remove:</h3></legend>'+html+'</fieldset');
$("#list").html(html+'</fieldset');
//$("#list").page();});

我做错了什么?谢谢。
发布于 2012-11-28 16:16:17
$("#list").trigger('create');来自:jqm docs
如果您通过Ajax生成新的标记客户端或加载内容,并将其注入页面,则可以触发create事件来处理新标记中包含的所有插件的自动初始化。这可以在任何元素上触发(甚至是页面div本身),省去了手动初始化每个插件(listview按钮、select等)的任务。
发布于 2013-07-08 22:34:51
如果这篇文章太旧,如果我的文章不是按照正确的标准,因为这是第一次发布,所以如果它非常糟糕,请纠正我:-]
但如果其他人遇到它,我在如何显示动态数据方面遇到了类似的问题,我使用了上面的jsfiddles和注释作为帮助,这就是我的解决方案,很接近我的解决方案,我没有一个按钮来加载它在页面加载时自动加载的数据。
已更新我的.html文件中的:
<div id="members"></div>
<input type="button" id="load" value="test"/>已更新我的.js文件中的:
$("#load").click(function(){
var name = ["NameOne","NameTwo", "NameThree"];
var fset = '<fieldset data-role="controlgroup" id="members-ctrlgroup"><legend>This is a legend:</legend>';
var labels='';
for ( var i = 0; i < name.length; i++) {
labels += '<input type="checkbox" class="checkbox" id="c'
+ i
+ '"><label for="c'
+ i
+ '" data-iconpos="right">'
+ name[i]
+'</label>';
}
$("#members").html(fset+labels+'</fieldset>');
$("#members").trigger("create");
});我知道"field“看起来有点奇怪,但我发现在这些情况下,当涉及到正确的整个html-string时,它会更容易一些。
更新了,为了拥有圆角,并将其作为一个控制组,您必须使用此方法。就像以前的海报所显示的那样。请注意,如果带有复选框和标签for=的id与输出不同,则可能会破坏输出:-]
fiddle
发布于 2012-11-28 01:02:47
为了替换内容,您应该使用.html();而不是.append(),后者会将新内容添加到现有内容之后。将内容添加到jQuery移动页面后,您需要使用例如$("input[type='radio']").checkboxradio();来增强内容
https://stackoverflow.com/questions/13587333
复制相似问题