传递一个<select>表单选项通过URL


Pass a <select> form option through the URL

我有一个选择下拉表单,它有一些值。我的web应用程序的设置方式是-当下拉选择选项发生变化时,它会触发一个JS函数,将数据填充到一个表中。

我想做的是,能够通过URL传递选项,这样当我访问URL时,也许在URL的末尾添加了#selected_option,它会加载选中该选项的页面。

我愿意接受任何容易完成这项任务的方法。现在,当我改变select值时,URL根本不会改变。谢谢!

<select class="form-control" onchange="refreshOrg()" id="selectTeam">
  <option value="dis" disabled selected>Please Select a Team..</option>
  <option value="1">Platform (ALL)</option>
  <option value="2">Operations Tools</option>
  <option value="3">Big Data Platform</option>
  <option value="4">Information Integration Governance</option>
  <option value="5">Cloud Data Services</option>
  <option value="6">Relational Analytics</option>
  <option value="7">SAP CoE</option>
  <option value="8">Business Analytics Platform</option>
  <option value="9">Competetive</option>
</select>

将选择的选项作为查询字符串传递,然后您可以在构建它时根据每个选项的值进行检查:

URL:

http://www.example.com/mypage?selectedOption=7

代码:

<select class="form-control" onchange="refreshOrg()" id="selectTeam">
    <option value="dis" disabled>Please Select a Team..</option>
    <option value="1"<?php if ($_GET['selectedOption'] == 1) { echo " selected"} ?>> Platform (ALL)</option>
    <option value="2"<?php if ($_GET['selectedOption'] == 2) { echo " selected"} ?>> Operations Tools</option>
    <option value="3"<?php if ($_GET['selectedOption'] == 3) { echo " selected"} ?>> Big Data Platform</option>
    <option value="4"<?php if ($_GET['selectedOption'] == 4) { echo " selected"} ?>> Information Integration Governance</option>
    <option value="5"<?php if ($_GET['selectedOption'] == 5) { echo " selected"} ?>> Cloud Data Services</option>
    <option value="6"<?php if ($_GET['selectedOption'] == 6) { echo " selected"} ?>> Relational Analytics</option>
    <option value="7"<?php if ($_GET['selectedOption'] == 7) { echo " selected"} ?>> SAP CoE </option>
    <option value="8"<?php if ($_GET['selectedOption'] == 8) { echo " selected"} ?>> Business Analytics Platform </option>
    <option value="9"<?php if ($_GET['selectedOption'] == 9) { echo " selected"} ?>> Competetive </option>
</select>

正如@jqheart所说,在refreshOrg()中创建URL非常简单:

window.location='your_URL?selectedOption='+$('#selectTeam').attr('option :selected');

refreshOrg()函数中,希望您在此函数中使用URL并且在您的页面中使用jquery。

Inside refreshOrg()

location.href='your_URL?selectTeamVal='+$('#selectTeam').attr('option :selected');

在客户端执行!

jQuery(document).ready(function($){
    var urlMatch = document.location.search.match(/selectedOption=([^&]+)/);
    if (urlMatch != null)
    {
        $('#selectTeam').val(urlMatch[1]);
    }
});