Как установить радиокнопки на невидимых страницах 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 });