javascript - 下拉列表的选定选项值未被拾取 jQuery

标签 javascript jquery html

我有一个简单的两个下拉表单,需要根据下拉列表中的给定值进行重定向。

jQuery(document).ready(function(){

	var location = jQuery('#Location option:selected').val();
	var style = jQuery('#Style option:selected').val();
	
  	jQuery('#DropSearch').click(function (e){
      e.preventDefault();
      e.stopPropagation();
    	window.location.href = 'http://showroomworldwide.com/?geodir_search=1&stype=gd_place&s=' + location + '&stype=gd_place&s=' + style;
	});
});
<form id="CustomSearch">
<select id="Location">
		<option value='northeast'>North East</option>
		<option value='west'>West</option>
		<option value='midwest'>Mid West</option>
		<option value='south'>South</option>
	</select>

	<select id="Style">
		<option value='industrial'>Industrial</option>
		<option value='farmhouse'>Farmhouse</option>
		<option value='contemporary'>Contemporary</option>
		<option value='beach+style'>Beach Style</option>
		<option value='traditional'>Tradtional</option>
	</select>

	<button id="DropSearch">
<i class="fa fa-search" aria-hidden="true"></i></button>
</form>

出于某种原因,重定向仅选择下拉菜单的第一个选项(或浏览器窗口加载时选择的选项)......知道为什么会这样吗? http://showroomworldwide.com/您可以访问工作示例的网址。

最佳答案

var location = jQuery('#Location option:selected').val();
var style = jQuery('#Style option:selected').val();

您在准备好文档的开头立即执行这些行。因此,它们的值将是它们在页面加载时的值。它们不会根据点击逻辑重新评估。如果您想获取点击时的值,请将它们移到您的点击逻辑中。

关于javascript - 下拉列表的选定选项值未被拾取 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40985550/

相关文章:

javascript - jQuery 全日历 : Change the color of every saturday except last saturday in the month

javascript - 在 Visual Studio 中使用 javascript

html - 始终将列表的前两项保留在顶部

javascript - 响应式 Google 图表 - 柱形图

javascript - 空格键在表单字段中不起作用

javascript - HTML 中的数据处理,无需服务器代码(仅使用 Javascript)

javascript - Uncaught Error : Method "undefined" does not exist backbone. js:1291

jquery - 是否可以在表单域中找到输入的索引?

javascript - 谷歌地图不显示标记的描述

jquery - 根据屏幕大小使用 CSS 更改工具提示位置