JQuery Mobile正在检查多个单选按钮

时间:2014-04-30 19:08:54

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

正在填充和格式化数据,但它们不像单选按钮那样。我可以同时选择任意数量的它们。我只需要一次选择一个。

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

1 个答案:

答案 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