我正在使用以下代码向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] + '"/>' + '<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>
正在填充和格式化数据,但它们不像单选按钮那样。我可以同时选择任意数量的它们。我只需要一次选择一个。
有人知道这里发生了什么吗?
答案 0 :(得分:0)
试试这个:
$('#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小部件。
这是 DEMO