2

我有一个带有 div 的 html 文件分成多个页面。在每个页面上,我都有一个单位切换单选按钮,按下时我希望不可见页面上的所有相应单选按钮也可以切换。

我已尝试使用以下代码,该代码适用于可见页面,但在尝试设置不可见单选按钮(a2 和 b2)时会引发以下错误;

错误:无法在初始化之前调用 checkboxradio 上的方法;试图调用方法“刷新”

代码示例;

    <fieldset data-role="controlgroup" data-type="horizontal" >
<input type="radio" align="center" name="radio-view1" id="radio-view-a1" checked="checked">
<label for="radio-view-a1">Imperial</label>
<input type="radio" name="radio-view1" id="radio-view-b1">
<label for="radio-view-b1">Metric</label>
    </fieldset>

    <!--script type="text/javascript" language="javascript">

$('#radio-view-a1').click(function(){       
    $('#radio-view-a1').attr('checked',true).checkboxradio("refresh");
    $('#radio-view-b1').attr('checked',false).checkboxradio("refresh");
    $('#radio-view-a2').attr('checked',true).checkboxradio("refresh");
    $('#radio-view-b2').attr('checked',false).checkboxradio("refresh");
    updown_toggle_units2imperial();
    });
$('#radio-view-b1').click(function(){
    $('#radio-view-a1').attr('checked',false).checkboxradio("refresh");
    $('#radio-view-b1').attr('checked',true).checkboxradio("refresh");
    $('#radio-view-a2').attr('checked',false).checkboxradio("refresh");
    $('#radio-view-b2').attr('checked',true).checkboxradio("refresh");
    updown_toggle_units2metric();
            });
   </script-->

编辑:我创建了一个 Fiddle 来演示。如果您转到链接,然后单击激活 firebug 或类似功能的 Metric 按钮,您会看到错误消息

任何帮助我解决如何实现所需行为的帮助将不胜感激!

谢谢

4

2 回答 2

9

以下组合有效:

$("input[type='radio']").checkboxradio();
$("input[type='radio']").checkboxradio("refresh");

在此处查看工作示例

这个链接帮助我找到了

于 2012-11-09T16:03:51.697 回答
0

采用

$('#radio-view-b1').live('click',function(){ //your code });

代替

$('#radio-view-a1').click(function(){ //your code });
于 2012-11-08T08:29:31.003 回答