javascript - 基于两个下拉菜单的 jQuery 重定向

标签 javascript jquery html

我在根据两个下拉列表创建的搜索表单时遇到一些问题。很简单,但是我似乎找不到问题。我对此还很陌生。

这是 html:

<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">

这是js:

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

jQuery(document).ready(function(){
    jQuery('#DropSearch').click(function (e){
        jQuery.post('http://showroomworldwide.com/?geodir_search=1&stype=gd_place&s=' + location + '&stype=gd_place&s=' + style);
    });
});

将脚本添加到网站的页脚后,我会得到一个永无止境的循环,几乎就像在实际单击按钮之前触发了该函数一样。

最佳答案

据我所知,不需要执行 POST 请求 - 只需设置 window.location.href 并将 jQuery 包装在 IIFE 中并将 $ 作为参数传递可以是一种方便的方法如果您需要在无冲突模式下使用 jQuery,请让 $ 可用。

最后,正如 @ADyson 提到的,您需要在事件处理程序中设置检索位置和样式,否则您将陷入初始值。

 (function($){
        $(document).ready(function(){
            var location = $('#Location').val();
            var style = $('#Style').val();
            $('#DropSearch').click(function (e){
                window.location.href = 'http://showroomworldwide.com/?geodir_search=1&stype=gd_place&s=' + location + '&stype=gd_place&s=' + style; // Can't just reference location.href due to local variable
            });
        });
 }(jQuery));

关于javascript - 基于两个下拉菜单的 jQuery 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598848/

相关文章:

javascript - 为什么我的 Prop 在我需要的时候不能在我的组件中使用?

javascript - 子元素样式 CSS

javascript - 如何获取元素的 HTML

javascript - 如何消除 block div 之间的所有空间?

javascript - jQuery - $.extend deep 丢失对数组的引用

html - Bootstrap : Use . 向右拉,无需硬编码负边距顶部

javascript - 如何修复 Javascript HTML 函数内的 onfocus 引号 this.id?

javascript - 如何从 TypeScript 中的嵌套 JSON 获取数据?

javascript - twitter bootstrap 动态显示模态 - 递归错误太多

javascript - 转换/移动大量 DOM 元素的最高效方式