从“选择菜单更改”更新HTTP GET请求

时间:2017-07-13 01:50:16

标签: javascript php jquery html twitter-bootstrap

我在PHP网站上有一个搜索结果页面,它返回结果列表。我现在需要在搜索结果页面中添加一个过滤器选项,以便用户可以从某些选择菜单选项中进一步细化搜索结果。搜索结果的网址如下所示:

findProducts.php?action=searchAssets&orderNumber=xxxx&productName=zzz

并从搜索表单页面上的GET请求执行。

我已使用以下选择菜单添加了一些过滤器:



<div class="panel panel-primary">
  <div class="panel-heading">
    <h3 class="panel-title">Filter By</h3>
  </div>
  <div class="panel-body">
    <form class="form-horizontal" id="filter" action="filter.php" method="get" role="form">
      <input type="hidden" name="action" value="filterSearch">
      <div class="form-group">
        <div class="col-sm-9">
          <select class="form-control" name="productType" id="productType">

            				<option selected="selected">By Product Type</option>
                                                          <option value="Cars">Cars</option>
                                                            <option value="Trains">Trains</option>
                                                            <option value="Planes">Planes</option>
                              
        				</select>
        </div>
      </div>
    </form>
  </div>
</div>
&#13;
&#13;
&#13;

我现在需要发生的事情,并且不确定如何执行此操作,是在修改“选择”菜单时再次执行搜索,例如GET请求现在是这样的:

findProducts.php?action=searchAssets&orderNumber=xxxx&productName=zzz&productType=Cars

如果用户从选择菜单中选择了“汽车”选项。我使用PHP和Bootstrap,因此可以在这里使用jQuery / PHP解决方案。

3 个答案:

答案 0 :(得分:1)

将on-chage事件附加到您的下拉列表,然后在触发时将其值附加到当前网址,然后重新加载页面。

&#xA;&#xA;
  $(文档).ready(function(){&#xA; $('#productType')。change(function(){&#xA; window.location.href = window.location.href +'&amp; productType ='+ $ (this).val();&#xA;});&#xA;});&#xA;  
&#xA;

答案 1 :(得分:0)

Onn选择“更改”事件,你可以调用一个函数,它会对你的搜索结果网址进行ajax调用..像这样:

$(“#productType”)。on('change',function(){

var product_type = $(this).val(); //selected product type
var your_search_url = "path/to/findProducts.php?action=searchAssets&orderNumber=xxxx&productName=zzz&productType="+product_type;
$.get(your_search_url, function(data, status){  
   // your code here to deal with the search results
});

});

答案 2 :(得分:0)

这就是您所需要的https://www.w3schools.com/php/php_ajax_database.asp

你甚至可以连锁下拉。如果你想发送更多的一个param(做什么东西='a'和b ='c')到那个php页面使用隐藏的表格和javascript。