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),这就太好了!非常感谢你!