Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery mobile 在JQuery Mobile中选中了多个单选按钮_Jquery Mobile - Fatal编程技术网

Jquery mobile 在JQuery Mobile中选中了多个单选按钮

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] + '"/>

我正在使用以下代码向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>
数据正在正确填充和格式化,但它们的行为与单选按钮不符。我可以同时选择任意数量的。我需要一次只能选择一个

有人知道这里发生了什么吗?

试试这个:

$('#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;然后刷新控制组。