【发布时间】:2016-02-04 14:11:35
【问题描述】:
我有一个搜索表单:-
<form method="get" action="/jobs/">
<select name="job_sector">
<option value="">All sectors</option>
<option value="Finance">Finance</option>
<option value="Human Resources">Human Resources</option>
<option value="Procurement & Supply Chain">Procurement & Supply Chain</option>
<option value="Sales & Marketing">Sales & Marketing</option>
</select>
<select name="job_salary_from">
<option value="0">Salary range</option>
<option value="10000">£10,000 - £19,999</option>
<option value="20000">£20,000 - £29,999</option>
<option value="30000">£30,000 - £49,999</option>
<option value="50000">£50,000 - £69,999</option>
<option value="70000">£70,000 - £99,999</option>
<option value="100000">£100,000+</option>
</select>
</div>
<div class="col-md-6">
<select name="job_type">
<option value="">All job types</option>
<option value="Permanent">Permanent</option>
<option value="Temporary">Temporary</option>
<option value="Interim">Interim</option>
</select>
<select name="job_location">
<option value="">All job locations</option>
<option value="Leicestershire">Leicestershire</option>
<option value="Nottinghamshire">Nottinghamshire</option>
<option value="Derbyshire">Derbyshire</option>
<option value="Lincolnshire">Lincolnshire</option>
</select>
<input id="search-jobs" name="job_search" type="text" placeholder="Search DISTINCT for jobs e.g. Accountant">'
</form>
如果我在不设置任何内容的情况下执行搜索,则 URL 变为:-
http://website.dev/jobs/?job_sector=&job_salary_from=0&job_type=&job_location=&job_search=
如果值为空,是否有任何方法不在 URL 中显示这些,因此搜索 URL 将变为:
如果没有设置值,并且:-
http://website.dev/jobs/?job_sector=finance
如果只选择了一个值。
编辑
我试过了:-
jQuery("form").submit(function(){
jQuery("input").each(function(index, obj){
if(jQuery(obj).val() == "") {
jQuery(obj).remove();
}
});
});
但它似乎仍然无法正常工作。
【问题讨论】:
-
你标记为 php;那么它在哪里呢?它是否与表单在同一个文件中使用?
-
你真的需要使用 GET 吗?
-
它是用于搜索的,所以我猜是这样?不然刷新的时候结果被重置了吧?
-
然后使用条件
empty()。没有看到你的 PHP 很难说,但我会使用empty()和/或isset()。我能提供的最好的。我会自己使用 POST 并避免所有这些。