Как запомнить состояние всплывающего окна в Crossrider?

0

У меня есть всплывающее окно в Crossrider, в котором у меня есть флажок. Это выглядит примерно так:

popup.html

<body>
    <div data-role="page" id="div1">
        <label for="checkbox1">Enable Something</label>
        <input type="checkbox" id="checkbox1">
    </div>
</body>

Теперь, когда пользователь закрывает всплывающее окно, я хочу, чтобы всплывающее окно запоминало состояние флажка. Поэтому, если пользователь включил # checkbox1, я хочу, чтобы он по-прежнему включался в следующий раз, когда он открывает всплывающее окно.

Я попытался сделать это, и он не работает:

popup.js

$(document).ready(function(){ 
    $('#checkbox1').on('change', function(){
        if ($(this).is(':checked'))
            $('#checkbox1').prop('checked', true);    
        else
            $('#checkbox1').prop('checked', false);
    })
});

Каков правильный способ сделать это?

Спасибо!!!

Теги:
popup
crossrider

1 ответ

2
Лучший ответ

Всплывающее содержимое не сохраняется между вызовами всплывающего окна; поэтому вы должны сохранить состояние вне области всплывающего окна, как правило, для небольших количеств данных, таких как это в базе данных Crossrider, с помощью appAPI.db.

Кроме того, такой код лучше всего помещать в функцию crossriderMain, которая автоматически вызывается, когда страница готова.

Например:

<!DOCTYPE html>
<html>
<head>
<!-- This meta tag is relevant only for IE -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript">
function crossriderMain($) {
  if (appAPI.db.get('checkbox1'))
    $('#checkbox1').prop('checked', true);    
  else
    $('#checkbox1').prop('checked', false);

  $('#checkbox1').on('change', function(){
    appAPI.db.set('checkbox1', $(this).is(':checked'));
  })
}
</script>
</head>
<body>
  <div data-role="page" id="div1">
    <label for="checkbox1">Enable Something</label>
    <input type="checkbox" id="checkbox1">
  </div>
</body>
</html>

[ Раскрытие информации: я сотрудник Crossrider]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню