Javascript 基于多个dropdon列表的自定义搜索

Javascript 基于多个dropdon列表的自定义搜索,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我有三个用值填充的下拉列表: <form action="search.php" method="post"> <p>Width</p> <select class="form-control" name="width"> <option value="" selected="selected">Any width</option> <option value="135">135</option> &

我有三个用值填充的下拉列表:

<form action="search.php" method="post">
<p>Width</p>
<select class="form-control" name="width">
<option value="" selected="selected">Any width</option>
<option value="135">135</option>
<option value="145">145</option>
<option value="155">155</option>
<option value="165">165</option>
<option value="175">175</option>
</select>

<p>Height</p>
<select class="form-control" name="height">
<option value="" selected="selected">Any height</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
</select>

<p>Diameter</p>
<select class="form-control" name="diameter">
<option value="" selected="selected">Any diameter</option>
<option value="10">R10</option>
<option value="12">R12</option>
<option value="13">R13</option>
<option value="14">R14</option>
<option value="15">R15</option>
</select>

<input name="search" type="submit" value="Search">
</form>

宽度

任意宽度 135 145 155 165 175 高度

任何高度 25 30 35 40 45 直径

任意直径 R10 R12 R13 R14 R15
我试图实现的是将用户重定向到一个自定义url(比如example.com/tires/size-185-65-15),然后在那里进行实际查询并显示结果

真正的问题不是查询,而是基于他们选择的重定向

重定向应基于他们从宽度、高度和直径中选择的值(所有3个值必须同时选择)

有什么办法可以做到这一点吗?我想可能是javascript或jquery?

为所有“选择”标记添加一个id,然后使用javascript获取它们的值,构建一个自定义url并重定向到它

<script>
    function submitQuery() {
        var width = document.getElementById("width").value;
        var height = document.getElementById("height").value;
        var diameter = document.getElementById("diameter").value;
        var url = "example.com/tires/size-" + width + "-" + height + "-" + diameter;
        window.location = url;
    }
</script>
<form action="search.php" method="post">
    <p>Width</p>
    <select class="form-control" name="width" id="width">
        <option value="0" selected="selected">Any width</option>
        <option value="135">135</option>
        <option value="145">145</option>
        <option value="155">155</option>
        <option value="165">165</option>
        <option value="175">175</option>
    </select>

    <p>Height</p>
    <select class="form-control" name="height" id="height">
        <option value="0" selected="selected">Any height</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
        <option value="40">40</option>
        <option value="45">45</option>
    </select>

    <p>Diameter</p>
    <select class="form-control" name="diameter" id="diameter">
        <option value="0" selected="selected">Any diameter</option>
        <option value="10">R10</option>
        <option value="12">R12</option>
        <option value="13">R13</option>
        <option value="14">R14</option>
        <option value="15">R15</option>
    </select>

    <input name="search" onclick="submitQuery()" value="Search">
</form>

函数submitQuery(){
var width=document.getElementById(“width”).value;
var height=document.getElementById(“height”).value;
var diameter=document.getElementById(“diameter”).value;
var url=“example.com/tires/size-”+宽度+“-”+高度+“-”+直径;
window.location=url;
}
宽度

任意宽度 135 145 155 165 175 高度

任何高度 25 30 35 40 45 直径

任意直径 R10 R12 R13 R14 R15
向所有“选择”标记添加一个id,然后使用Javascript获取它们的值,构建自定义url并重定向到它

<script>
    function submitQuery() {
        var width = document.getElementById("width").value;
        var height = document.getElementById("height").value;
        var diameter = document.getElementById("diameter").value;
        var url = "example.com/tires/size-" + width + "-" + height + "-" + diameter;
        window.location = url;
    }
</script>
<form action="search.php" method="post">
    <p>Width</p>
    <select class="form-control" name="width" id="width">
        <option value="0" selected="selected">Any width</option>
        <option value="135">135</option>
        <option value="145">145</option>
        <option value="155">155</option>
        <option value="165">165</option>
        <option value="175">175</option>
    </select>

    <p>Height</p>
    <select class="form-control" name="height" id="height">
        <option value="0" selected="selected">Any height</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
        <option value="40">40</option>
        <option value="45">45</option>
    </select>

    <p>Diameter</p>
    <select class="form-control" name="diameter" id="diameter">
        <option value="0" selected="selected">Any diameter</option>
        <option value="10">R10</option>
        <option value="12">R12</option>
        <option value="13">R13</option>
        <option value="14">R14</option>
        <option value="15">R15</option>
    </select>

    <input name="search" onclick="submitQuery()" value="Search">
</form>

函数submitQuery(){
var width=document.getElementById(“width”).value;
var height=document.getElementById(“height”).value;
var diameter=document.getElementById(“diameter”).value;
var url=“example.com/tires/size-”+宽度+“-”+高度+“-”+直径;
window.location=url;
}
宽度

任意宽度 135 145 155 165 175 高度

任何高度 25 30 35 40 45 直径

任意直径 R10 R12 R13 R14 R15
可能的解决方案: 1) 将“提交”按钮更改为链接并为其指定id:

<a href="" id="submitLink">Search</a>
3) 将此JS函数添加到所有三个选择框的更改事件中:

<select class="form-control" name="width" onchange="constructLink();">

应该是这样

一个可能的解决方案: 1) 将“提交”按钮更改为链接并为其指定id:

<a href="" id="submitLink">Search</a>
3) 将此JS函数添加到所有三个选择框的更改事件中:

<select class="form-control" name="width" onchange="constructLink();">


应该是这样

请拿着,环顾四周,通读一遍,特别是努力解决问题。如果你这样做遇到了一个特定的问题,在你的尝试中发布一个问题(包括所有相关的代码),说明什么不起作用,并解释你迄今为止的研究。哈哈哈,会员6年了,仍然问这样的问题,请拿着这个,四处看看,并通读,尤其要努力解决这个问题。如果你遇到了一个特定的问题,那么在你的尝试中发布一个问题(包括所有相关的代码),说明什么不起作用,并解释你迄今为止的研究。哈哈哈,会员6年了,仍然问这样的问题,应该是:
getElementsByName(“宽度”)[0]
因为理论上可以有多个同名元素(方法的名称中有复数形式)。它应该是:
getElementsByName(“width”)[0]
因为理论上可以有多个同名元素(方法的名称中有复数形式)。这太棒了!但是有没有办法检查它们是否都被选中,并且只有当它们都被选中时才进行重定向?当然,只要在顶部添加一个条件,如果(宽度!=0&&height!=0&&diameter!=0),这就太好了!非常感谢你!这太棒了!但是有没有办法检查它们是否都被选中,并且只有当它们都被选中时才进行重定向?当然,只要在顶部添加一个条件,如果(宽度!=0&&height!=0&&diameter!=0),这就太好了!非常感谢你!