Создание JavaScript Vars Определяемый пользователем?

0

У меня небольшая небольшая функция, в Javascript/JQuery, которая добавляет один из трех классов в div для цветового кода фон div, который зависит от разницы дат.

Разница дат вырабатывается PHP, который затем echos/печатает значение в скрытое поле, которое я при загрузке в цикл с JQuery, мой код:

 $(document).ready(function () {                            
    var SetDateOne = 3;
    var SetDateTwo = 7;
    var SetDateThree = 8;

    $('.HideMe').each(function (i) {

       //This gets the hidden divs date diff.
       GetDateDiff = $("#Date" + i).html();

      if (GetDateDiff <= SetDateOne) {
        $('#' +i).addClass("RedLight");
      } else if (GetDateDiff <= SetDateTwo) {
        $('#' +i).addClass("YellowLight");
      } else if (GetDateDiff >= SetDateThree) {
        $('#' +i).addClass("GreenLight");
      }
   }); //End of .each function
});

Итак, все это работает, но я пытаюсь настроить эти три даты на вершине, чтобы они были определены пользователем? Я думал о информации о сеансе? Но я не уверен, но я думал о том, чтобы создать новую таблицу в моем db, только с идентификатором и датой, затем установите три даты в этой таблице, затем загрузите их в сеансы, но это будет с PHP, поэтому не уверен, что я может получить это, чтобы загрузить данные сеанса в JavaScript.

  • 0
    Sessionstorage, localalstorage, файлы cookie и база данных - вот несколько вариантов. Просто получите предмет в любом хранилище и назначьте его переменной.
  • 0
    Но может ли Javascript / JQuery прочитать информацию о сеансе, установленную PHP?
Показать ещё 1 комментарий
Теги:

1 ответ

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

Как я вижу, у вас есть несколько вариантов:

  1. Подобно @morodeer, вы предложили получить входные значения со страницы. Это означает, что пользователь должен повторно вводить эти значения каждый раз, когда они посещают страницу.

  2. Как вы сказали, вы можете использовать сеанс для временного хранения данных в сеансе PHP. Это означает, что пользователь должен будет вводить даты один раз за сеанс. См. Пример.

  3. Используйте локальную базу данных JavaScript, в которой вы можете хранить данные в течение длительных периодов времени. Предполагая, что конечный пользователь разрешает localdb.

  4. Для хранения ваших значений используйте какую-либо базовую базу данных. Это позволит вам хранить данные в течение длительного периода времени и выполнять анализ данных. Обеспечение того, что у вас есть способ однозначно идентифицировать пользователей.

Пример сеанса PHP

<?php session_start(); ?>
$('.HideMe').each(function (i) {
    var SetDateOne = <?php echo $_SESSION['dateone']; ?>;
    ...
});


EDIT: Пример сеанса PHP (с функцией JavaScript)

Функция JavaScript (файл js)

function doHideMe(dateOne, dateTwo, dateThree) {
    $('.HideMe').each(function (i) {
        var SetDateOne = dateOne;
        var SetDateTwo = dateTwo;
        var SetDateThree = dateThree;
        ...
    });
}

Загрузка страницы (входит в отдельные страницы)

<script type="text/javascript">
$(document).ready(function () {
    doHideMe(<?php echo $_SESSION["dateOne"]; ?>, <?php echo $_SESSION["dateTwo"]; ?>, <?php echo $_SESSION["dateThree"]; ?>);
});
</script>
  • 0
    Я забыл сказать, что эта функция находится внутри внешнего файла .js, имеет раскраску для div на пяти / шести разных страницах. PHP не будет работать таким образом, если я не добавлю код на каждую страницу - что было бы простым
  • 0
    Создайте функцию, в которой вы можете предоставлять значения PHP в качестве параметров, которые вы вызываете при загрузке страницы.
Показать ещё 3 комментария

Ещё вопросы

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