样式未在动态创建的单选按钮中正确应用
我必须动态创建一个单选按钮组。我能够成功创建它。但问题是动态创建的单选按钮看起来不像静态按钮。
我尝试了两种方法:1)在fieldset
上调用create
– ui-corner-all
类被添加到内部跨度上,因此所有单选按钮都显示为圆形。 2)在包含fieldset
的div上调用create
– 这里的问题更好。但是仍然存在一些问题。首先,当只有单选按钮时, ui-controlgroup-last
controlgroup ui-controlgroup-last
类被添加到该radiobutton.Next,当第二个单选按钮被添加, ui-controlgroup-last
类被添加到该单选按钮中。但是ui-controlgroup-last
controlgroup ui-controlgroup-last
仍然存在于第一个单选按钮中并且该循环重复。因此所有单选按钮的样式都是最后的无人机。
这是我的代码:
$(document).ready(function() { for (var i = 0; i < 3; i++) { $("#rgroup1").append(''); $("#rgroup1").trigger("create"); $("#rgroup2").append(''); $("#radiodiv1").trigger("create"); } }); Normal radio buttons
Dynamically created-Div Refresh
Dynamically created-Fieldset Refresh
PS – 我在每次追加后调用create的原因是因为它在我的实际用例中是如何工作的 – 任何时候都只创建一个单选按钮。
生成的源
$(document).ready(function() { for (var i = 0; i < 3; i++) { $("#rgroup1").append(''); $("#rgroup1").trigger("create"); $("#rgroup2").append(''); $("#radiodiv1").trigger("create"); } }); Normal radio buttons
Dynamically created-Div Refresh
Dynamically created-Fieldset Refresh
loading
我通过从除最后一个单选按钮的标签之外的所有标签中明确删除ui-controlgroup-last
和ui-corner-bottom
类来修复此问题
Normal radio buttons
Dynamically created-Fieldset Refresh
你需要刷新按钮..
刷新单选按钮
如果通过JavaScript操作单选按钮,则必须在其上调用refresh方法以更新可视样式。 这是一个例子:
$("input[type='radio']").attr("checked",true).checkboxradio("refresh");
http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-radiobuttons.html
因为你正在使用jquery我会建议你使用
$( “#收音机1 – ” + I).addClass( “类名”)
如果有人遇到这个问题,那么应用具有当前版本(1.4.5)的样式的正确方法是EnhanceWithin
在我编写的一段代码中,在创建了一些动态html之后,我追加它,然后应用样式:
var currentAddressInput = new AddressInterface(); jQuery("#contentDiv").append(currentAddressInput.domElement).enhanceWithin();