簡體   English   中英

從頁面重定向時,將“選項”的“選項”值設置為“選擇”

[英]Set “option” value of “select” when redirected from page

我有A頁,其中有三個錨點。 B頁,我在其中選擇了#days的值30,180,365

因此,當我單擊頁面A上具有href的錨點(例如頁面?v = 30)時,我應該跳至頁面B,該頁面將在選擇#天時自動選擇值為30的選項。

可能嗎? 我想最簡單的方法是使用jquery或其他方法。

謝謝!

編輯:我下面的PHP代碼用於顯示值。

<select id="days" name="days">
              <?php foreach($prices as $current_days => $details): ?>
                <option value="<?php echo $current_days ?>" <?php selected( $subscription_days, $current_days ); ?>>
                  <?php echo $details['desc']; ?>
                </option>
              <?php endforeach; ?>
            </select>

此處描述了如何獲取變量:使用JavaScript獲取值GET或POST變量?

現在,您只需要一個Javascript即可檢查是否設置了此Value,然后只需操縱選擇框即可。 我不會在純Javascript中做類似的事情。 jQuery for Example在其API中為此提供了非常好的功能。

您可以使用類似

function getParameter(paramName) {
  var searchString = window.location.search.substring(1),
      val, params = searchString.split('&');

  for (var i=0; i<params.length; i++) {
    val = params[i].split('=');
    if (val[0] === paramName) {
      return unescape(val[1]);
    }
  }
  return false;
}

var v = getParameter('v');

if (v) {
    $('#days').val(v);
}

您可以使用JavaScript從URL中獲取參數,並將選擇設置為所需的值。 一個使用jQuery的例子就是:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript">
    function selectItem() {
      var i = getParam('v');
      $('#days').val(i);
    }
    function getParam(paramName) {
      return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
      );
    }
  </script>
</head>
<body onload="selectItem()">    
  <select id='days'><option value='1'>1</option><option value='2'>2</option></select>
</body>
</html>

使用此處編寫的用於獲取URL變量的函數,您所需要做的就是:

$('#days').val($.getUrlVar('v'));

演示小提琴

代碼小提琴

這樣的事情應該起作用:

<a href="http://server/PageB?value=30">Anchor A</a>
<a href="http://server/PageB?value=180">Anchor B</a>
<a href="http://server/PageB?value=365">Anchor C</a>

在頁面B中,您必須放置以下腳本:

function GetQueryStringParams(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++)
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam)
        {
            return sParameterName[1];
        }
    }
}​

var valueFromUrl = GetQueryStringParams("value");
$("#your-select-id option").each(function()
{
    this.selected = (this.text() == valueFromUrl);
});

暫無
暫無

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

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