动态控件组和复选框未设置样式怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

所以我试图直接将动态内容加载到我的复选框容器(group_checkboxes)

<div id='group_checkboxes' data-role="fieldcontain">

</div>

这是我正在运行的用于填充容器的声明:

$('#group_checkboxes').append('<fieldset data-role="controlgroup"><input type="checkbox" name="' + $(this).find('data').text() + '" class="custom" /><label for="' + $(this).find('data').text() + '">' + $(this).find('label').text() + '</label></fieldset>');

复选框全部填充,但jQuery样式不适用。

我需要做的就是调用这个函数来更新复选框样式

$("input[type='checkbox']").checkboxradio("refresh");

这不起作用,做错了什么?

提问于
用户回答回答于

首先尝试自己的静态演示代码:

<div  data-role="fieldcontain">
                <fieldset data-role="controlgroup">
                    <legend>Choose as many snacks as you'd like:</legend>
                    <input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom" />
                    <label for="checkbox-1a">Cheetos</label>

                    <input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" />
                    <label for="checkbox-2a">Doritos</label>

                    <input type="checkbox" name="checkbox-3a" id="checkbox-3a" class="custom" />
                    <label for="checkbox-3a">Fritos</label>

                    <input type="checkbox" name="checkbox-4a" id="checkbox-4a" class="custom" />
                    <label for="checkbox-4a">Sun Chips</label>
                </fieldset>
            </div>

正如我在评论中提到的那样,他们只使用了一个字段集。 如果这样做,然后调整脚本动态生成相同的标记,然后刷新它们

$("input[type='checkbox']").checkboxradio("refresh");
用户回答回答于

jQuery Mobile 1.2.x - 1.3.x(稳定版本)

在将复选框 / 单选按钮附加到静态或动态控制组后.checkboxradio()应先调用,然后.controlgroup("refresh")重新设置controlgroup div。

$("[type=checkbox]").checkboxradio();
$("[data-role=controlgroup]").controlgroup("refresh");

jQuery Mobile 1.4.x

这里唯一的区别是元素应该被追加到 .controlgroup("container")

$("#foo").controlgroup("container").append(elements);

然后使用所有元素.enhanceWithin()

$("[data-role=controlgroup]").enhanceWithin().controlgroup("refresh");

扫码关注云+社区

领取腾讯云代金券