首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery-mobile创建动态控件组并应用jquery-ui css

jquery-mobile创建动态控件组并应用jquery-ui css
EN

Stack Overflow用户
提问于 2012-11-27 23:20:06
回答 4查看 11.5K关注 0票数 7

这是我的代码:http://jsfiddle.net/YKvR3/34/

我将用我的数组(name)中的值创建一个控制组。问题是,当我单击load按钮时,这些值会被添加到一个控制组中,但是jquery-ui样式并没有像图像中那样被加载。控制组没有使用jquery-ui移动css设置样式。

代码语言:javascript
复制
$("#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();});​

我做错了什么?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-28 16:16:17

代码语言:javascript
复制
$("#list").trigger('create');

来自:jqm docs

如果您通过Ajax生成新的标记客户端或加载内容,并将其注入页面,则可以触发create事件来处理新标记中包含的所有插件的自动初始化。这可以在任何元素上触发(甚至是页面div本身),省去了手动初始化每个插件(listview按钮、select等)的任务。

票数 10
EN

Stack Overflow用户

发布于 2013-07-08 22:34:51

如果这篇文章太旧,如果我的文章不是按照正确的标准,因为这是第一次发布,所以如果它非常糟糕,请纠正我:-]

但如果其他人遇到它,我在如何显示动态数据方面遇到了类似的问题,我使用了上面的jsfiddles和注释作为帮助,这就是我的解决方案,很接近我的解决方案,我没有一个按钮来加载它在页面加载时自动加载的数据。

已更新我的.html文件中的

代码语言:javascript
复制
<div id="members"></div>     
<input type="button" id="load" value="test"/>

已更新我的.js文件中的

代码语言:javascript
复制
$("#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

票数 4
EN

Stack Overflow用户

发布于 2012-11-28 01:02:47

为了替换内容,您应该使用.html();而不是.append(),后者会将新内容添加到现有内容之后。将内容添加到jQuery移动页面后,您需要使用例如$("input[type='radio']").checkboxradio();来增强内容

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13587333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档