Как установить радиокнопки на невидимых страницах Div с помощью JQuery Mobile?

У меня есть один HTML-файл, разделенный на несколько страниц с DIVS. На каждой странице у меня есть кнопка переключателя единиц измерения, при нажатии которой я хочу, чтобы все соответствующие переключатели на невидимых страницах также переключались.

Я попытался с приведенным ниже кодом, который хорошо работает для видимой страницы, но выдает следующую ошибку, когда пытается установить невидимый переключатель (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-->

Изменить: я создал скрипку для демонстрации. Если вы перейдете по ссылке и нажмете кнопку "Метрика" с активированным firebug или аналогичным, вы увидите сообщение об ошибке

Любая помощь, чтобы помочь мне разобраться, как достичь желаемого поведения, будет очень цениться!

Спасибо

2 ответа

Решение

Работает следующая комбинация:

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

см рабочий пример здесь

Эта ссылка помогла мне выяснить это

Использование

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

вместо

$('#radio-view-a1').click(function(){ //your code });
Другие вопросы по тегам