根据数据属性设置cookie

时间:2019-03-01 11:12:17

标签: javascript html setcookie jquery-cookie

我想用定义为锚链接的data属性值设置一个cookie。示例:

  • <a href="#" data-lang="de">Deutsch</a>
  • <a href="#" data-lang="fr">Français</a>

用例:

  • 用户单击更改语言按钮
  • 弹出语言模式,显示五种不同的语言。每个链接都有一个不同的data-lang
  • 用户单击所需的语言,然后单击所选lang的名为“ language-selected is created with the value of the data-lang”的cookie。

设置Cookie setCookie('language-selected','data-lang_here',7);

我将如何处理?

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery-cookie插件。使用$.cookie('lang-selected')来获取cookie。

HTML

    <a href="#" data-lang="de">Deutsch</a>
    <a href="#" data-lang="fr">Français</a>

jQuery

    $("a").click(function($event){
      $event.preventDefault();
      let lang = $($event.target).attr('data-lang');
      $.cookie('language-selected', lang, {expires : 30});
     });

答案 1 :(得分:0)

html

  public class Teams
  {
    public int Team1 { get; set; }
    public int Team2 { get; set; }
  }

  var matchScheduling = new Dictionary<int, List<Teams>>();  //Dictionary< round , matches >

  for(int round = 0 ; round < TNR ; round++ )
  {
    List<Teams> matches= new List<Teams>();
    int team1 = teams[0];
    int team2 = -1;
    matches.Add(new Teams() { Team1 = team1, Team2 = team2 });

    for (int match = 0; match < MPR ; match++)
    {
       team1 = teams[match + 1];
       team2 = teams[(NOT.Length-1) - match];
       roundTeams.Add(new Teams() { Team1 = team1, Team2 = team2 });
    }

    matchScheduling.Add(round, roundTeams);

    //Now for next round, Rotate team Array
    int length = teams.Length;
    int tmp = teams[length - 1];
    for (int i = length - 1; i > 0; i--)
    {
       teams[i] = teams[i - 1];
    }
    teams[0] = tmp;

  }

js

<a href="#" data-lang="de">Deutsch</a>
<a href="#" data-lang="fr">Français</a>