繁体   English   中英

通过 <select>通过URL的表单选项

[英]Pass a <select> form option through the URL

我有一个选择下拉列表,它具有一些值。 我的Web应用程序的设置方式是-下拉选择选项更改时,它会触发JS函数,该函数会将数据填充到表中。

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

我愿意接受任何可以轻松为我完成此任务的方法。 现在,当我更改选择值时,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>

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

网址:

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。

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]);
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM