簡體   English   中英

如何使語言下拉選擇也留在下一頁?

[英]How to make language drop down selected also stay on next page?

我正在使用此代碼更改按鈕的超鏈接,現在我希望如果該人選擇一種語言(例如法語),那么它將在下一頁打開時自動選擇。 如果我從 page1.php 移動到 page2.php。 下一頁上的語言應自動選擇為法語。 誰能指導我如何做到這一點?

 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1:0"> <title>Document</title> </head> <body> <script src="https.//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script type="text/javascript" src="custom.js"> </script> <select name="" id="lang"> <option value="English">English</option> <option value="French">French</option> <option value="Spanish">Spanish</option> </select> <select name="" id="currency"> <option value="USD">USD</option> <option value="EUR">EUR</option> <option value="MXN">MXN</option> </select> <a href="" id="theButton">Click</a> <a href="test2.php">Click</a> </body> </html>

 $(document).ready(function(){ var saveclass = null; function onChangeHandler() { const lang = document.querySelector('#lang').value; const currency = document.querySelector('#currency').value; var strLink = "https://example.com/index.php?lang="+lang+"&currency="+currency; document.querySelector('#theButton').setAttribute('href', strLink); } onChangeHandler(); document.querySelector('#lang').addEventListener('change', onChangeHandler); document.querySelector('#currency').addEventListener('change', onChangeHandler); });

最新答案

index.php

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <script type="text/javascript" src="custom.js"></script>
  <script type="text/javascript" src="cookie_script.js"></script>
</head>

<body>

  <select name="" id="lang">
    <option <?php if(@$_COOKIE['lang']=="English"){ echo "selected"; }?> value="English">English</option>
    <option <?php if(@$_COOKIE['lang']=="French"){ echo "selected"; }?> value="French">French</option>
    <option <?php if(@$_COOKIE['lang']=="Spanish"){ echo "selected"; }?> value="Spanish">Spanish</option>
  </select>

  <select name="" id="currency">
    <option <?php if(@$_COOKIE['currency']=="USD"){ echo "selected"; }?> value="USD">USD</option>
    <option <?php if(@$_COOKIE['currency']=="EUR"){ echo "selected"; }?> value="EUR">EUR</option>
    <option <?php if(@$_COOKIE['currency']=="MXN"){ echo "selected"; }?> value="MXN">MXN</option>
  </select>

  <a href="test2.php">Click</a>

</body>

</html>

cookie_script.js

$(document).ready(function(){
  $('#lang').on('change', function(){ document.cookie = "lang="+$(this).val()+"; path=/"; });
  $('#currency').on('change', function(){ document.cookie = "currency="+$(this).val()+"; path=/"; });
});

始終包括

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <script type="text/javascript" src="cookie_script.js"></script>

...在每一頁上

在下一頁上,您需要閱讀 URL 並使用您獲得的值更新您的貨幣和語言下拉列表。

根據這篇文章: 如何在 JavaScript 中獲取查詢字符串值? 你應該使用 URLSearchParams。

第 1 步 - 從 URL 中獲取所選語言和貨幣值。

const urlParams = new URLSearchParams(window.location.search);
const language = urlParams.get('lang');
const currency = urlParams.get('currency');

第 2 步 - 使用這些值更新下拉列表:

$('#lang').val(language);
$('#currency').val(currency);

如果您不想在每個頁面中都這樣做,您可以將這些設置保存在客戶端機器 ( localStorage ) 或服務器中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM