Jquery mobile 在JQuery Mobile中选中了多个单选按钮
我正在使用以下代码向fieldset动态添加单选按钮:Jquery mobile 在JQuery Mobile中选中了多个单选按钮,jquery-mobile,Jquery Mobile,我正在使用以下代码向fieldset动态添加单选按钮: $(document).on( "pageshow", function( event, data ){ for(var i=0 ; i<events.length ; i++){ $('#facebookGroups').append('<input type="radio" name="radio-choice-3" id="' + events[i] + '"/>
$(document).on( "pageshow", function( event, data ){
for(var i=0 ; i<events.length ; i++){
$('#facebookGroups').append('<input type="radio" name="radio-choice-3" id="' + events[i] + '"/>' + '<label for="' + events[i] + '">' + events[i] + '</label>').trigger('create');
}
var center = map.getCenter();
google.maps.event.trigger(map, "resize");
map.setCenter(center);
});
这是正在填充的div:
<div data-role='panel' id='listPanel' data-display='overlay' data-position='right'>
<fieldset data-role="controlgroup" data-mini="true" id="facebookGroups">
<legend>Facebook Events:</legend>
</fieldset>
<a href="#homepage" data-rel="close" class='panelButton'>Close panel</a>
</div>
数据正在正确填充和格式化,但它们的行为与单选按钮不符。我可以同时选择任意数量的。我需要一次只能选择一个
有人知道这里发生了什么吗?试试这个:
$('#facebookGroups input').remove();
var radios = ''
for (var i = 0; i < events.length; i++) {
radios += '<input type="radio" name="radio-choice-3" id="' + events[i] + '"/>' + '<label for="' + events[i] + '">' + events[i] + '</label>';
}
$('#facebookGroups').append(radios).enhanceWithin();
第一行删除以前添加到控制组的所有输入
for循环构造一个包含所有要添加的输入的字符串
最后一行附加所有输入,然后调用enhanceWithin来初始化checkboxradio小部件
这是一个
您使用的是哪个JQM版本?我使用的是版本1.4.2。面板是内部的还是外部的?是否确实要使用pageshow事件,它将在每次显示任何页面时运行,因此您可能要添加重复的单选按钮…可能的重复应将元素附加到$facebookgroup.controlgroupcontainer.appendelements;然后刷新控制组。