jQuery存储来自先前单击的数据变量

问题描述 投票:0回答:1

我具有单击功能,当用户在我的游戏中按下“玩家”时会发生。我正在尝试编写两个球员之间的替补球员。该功能首先检查看是否已经选择了另一名球员,如果已经选中,则检查看他们是否在替补席上。如果他们坐在替补席上,那么它将存储第二名球员的数据信息。

问题在于存储第一个玩家数据信息。当我警告“ pid”时,它显示为未定义。无论如何,有没有存储pid以便用户下次单击另一个播放器时仍保留在“ pid”下的信息?我意识到'pid'是在函数内声明的,我尝试过先在函数外声明它,但这仍然无法正常工作。

var pid;

  $('.player').click(function() {

    event.preventDefault();

    var start = $(this).data("start");

    if ($(".show2")[0]){
      // Player has already been selected

      if ($(this).children('.show2').length) {
        // User has selected same player, toggle off select image and return

        $(this).children('.player-select').toggleClass('show2');
        return;
      }

      if(start == 'FirstEleven'){
        $(".message-alert").css("display", "block");
        $(".message").html('You must substitute a player from the bench');
        $(".overlay2").css("opacity", "0.5");
        $(".overlay2").css("display", "block");
        $(".container2").css("pointer-events", "all");
      }

      if(start == "Bench"){
        var pid2 = $(this).data("id");
        var element2 = $(this).data("element");

        alert(pid);
        alert(pid2);
      }

    } else {
      // First player to be selected

      if(start == 'Bench'){
        // If player selected is on the bench
        $(".message-alert").css("display", "block");
        $(".message").html('You must select a player from the starting lineup first');
        $(".overlay2").css("opacity", "0.5");
        $(".overlay2").css("display", "block");
        $(".container2").css("pointer-events", "all");
        return;
      }

      $(this).children('.player-select').toggleClass('show2');

      var pid = $(this).data("id");
      var element = $(this).data("element");

    }

  });
jquery variables storage local
1个回答
0
投票

您可以在这种用例中使用localstorage。

localStorage.setItem("players1", "deepak")

console.log(localStorage.getItem("players1"))
© www.soinside.com 2019 - 2024. All rights reserved.