当前位置: 首页 > 知识库问答 >
问题:

JavaScript-根据下拉列表中选择的值重定向到页面

周高畅
2023-03-14

我有两个下拉列表与选择值。我已经完成了函数部分,其中从两个下拉列表中选择的值将显示在testpoint.html页面中(如函数所示)。现在,我想根据profile下拉列表中选择的配置文件来分隔页面。

例如,当用户从下拉列表中选择“full”选项时,页面将被重定向到“testpointdrc.html”

(function() {
  function onSubmitClicked(event) {

    var product = document.getElementById('product'),
      productVal = product.value,
      profile = document.getElementById('profile'),
      profileVal = profile.value;
    url = 'testPoint.html?product=' + encodeURIComponent(productVal) + '&profile=' + encodeURIComponent(profileVal);
    location.href = url;

    if (profileVal = "Full DRC") {
      url = "testPointDRC.asp";
    }
  }

  var submitButton = document.getElementById('btngo');
  submitButton.addEventListener('click', onSubmitClicked);
})();
html lang-html prettyprint-override"><table>
  <tr>
    <td>
      <h4>Choose a Product &nbsp: </h4>

      <select id="product"> 
	<optgroup label="DEFAULT">
	<option value = "NONE">NONE</option>
	</optgroup>
	</select>
      <br><br>

      <h4>Choose a Profile &nbsp&nbsp&nbsp: </h4>
      <select id="profile"> 
	
	<optgroup label="DEFAULT">
	<option value = "NONE">NONE</option>
	</optgroup>
	<optgroup label="TEST PROFILES">
	<option value = "Full">FULL</option>
	<option value = "QC">QC</option>
	<option value = "Cold">COLD</option>
	<option value = "Hot">HOT</option>
	<option value = "Room">ROOM</option>
	</optgroup>
	</select>
    </td>
  </tr>
</table>
<br><br><br>
<input type="submit" id="btngo" value="Go" class="button button2" />

共有1个答案

匡玉堂
2023-03-14

根据您的想法,使用jQuery和纯JavaScript创建了以下代码。

$(document).ready(function() {
  $('#btngo').on('click', function() {
    var profile = $('.profile').find('option:selected').val(),
      prod = $('.product').find('option:selected').val(),
      url;

    switch (profile) {

      case 'Full':
        url = "testPointFULL.asp?product=" + prod + "&profile=" + profile;
        break;

      case 'QC':
        url = "testPointQC.asp?product=" + prod + "&profile=" + profile;
        break;

      case 'Cold':
        url = "testPointCOLD.asp?product=" + prod + "&profile=" + profile;
        break;

      case 'Hot':
        url = "testPointHOT.asp?product=" + prod + "&profile=" + profile;
        break;

      case 'Room':
        url = "testPointROOM.asp?product=" + prod + "&profile=" + profile;
        break;

      default:
        alert("No option like this");
    }
    if (prod !== "NONE" && profile !== "NONE") {
      window.open(url);
      alert(url);
      $(this).submit();
    } else {
      alert('Selection was not correct');
    }

  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4>Choose a Product:</h4>
<select class="product">
  <optgroup label="DEFAULT">
    <option value="NONE">NONE</option>
    <option value="Test">Test</option>
  </optgroup>
</select>
<br>
<br>

<h4>Choose a Profile : </h4>
<select class="profile">
  <optgroup label="DEFAULT">
    <option value="NONE">NONE</option>
  </optgroup>
  <optgroup label="TEST PROFILES">
    <option value="Full">FULL</option>
    <option value="QC">QC</option>
    <option value="Cold">COLD</option>
    <option value="Hot">HOT</option>
    <option value="Room">ROOM</option>
  </optgroup>
</select><br><br>
<input type="button" id="btngo" value="Go" class="button button2" />
 类似资料:
  • 问题内容: 我想创建两个下拉列表,类别和项目。 如果我选择名为car的类别之一,则项目下拉列表应包含Honda,Volvo和Nissan。 如果我选择一个名为phone的类别,则项目下拉列表应具有此iPhone,Samsung,Nokia。 我怎样才能做到这一点?我知道我无法使用纯HTML做到这一点。 问题答案: 工作演示 (带有jquery) 更新 :使用eval()能够添加所需的任意数量的数组

  • 每次用户在ChartJS中选择新的图表类型时,我都试图确定重新加载画布的正确方法,但现在不会更改图表类型: chartJs.js index.html

  • 我有一个从数据库中提取下拉选项的工厂: 然后,我将该数据应用于控制器中的下拉列表/选择: 下面是select标记的外观: 放入$scope的下拉列表数据。临床DDL如下所示: 从 DB 返回的用户数据如下所示: 在我的控制器中,我填充了下拉列表/选择,然后我获取了一个用户ID并将其提交给DB以获取用户信息。这些用户信息会返回。然后,我想根据DB返回的“DefaultLocationId”从先前填充

  • 我有一个字符串列表,它有{“val1”、“val2”、“val3”、“val4”}等值,我有三个不同的组合框。每个组合框有5个以上的项。 现在,我只想从列表中选择一个具有组合框项目不同组合的值。我尝试过使用if-else和switch语句,但它的过程非常繁琐。那么,解决这类问题的最佳方法是什么呢?GUI部分的屏幕截图。 GUI 提前感谢。 我有一个像这样的长长的嵌套开关盒

  • 问题内容: 如何使用JavaScript从下拉列表中获取选定的值? 我尝试了下面的方法,但是它们都返回选择的索引而不是值: 问题答案: 如果您有一个如下所示的select元素: 运行此代码: 将成为。如果您真正想要的是,请执行以下操作: 这将成为

  • 我有一个用来选择某些元素的代码,当你点击geticon按钮并显示正确的选项值时,该代码工作得很好。问题是我不确定如何显示下拉菜单的选择选项值(而不是按钮)。 这是我的Jsfiddle null null