您好我想刷新我的选择框值的更改页面将此值添加到url作为查询字符串这里是我的代码
<select name="country_id" id="country" class="validate-select" title="Country">
<option value=""></option>
<option value="BH">Bahrain</option>
<option value="KW">Kuwait</option>
<option value="OM">Oman</option>
<option value="QA">Qatar</option>
<option value="SA">Saudi Arabia</option>
<option value="AE">United Arab Emirates</option>
</select>
我为此写的JS代码是
jQuery('#country').on('change', function () {
var url = window.location.href;
url += '?country='+jQuery(this).val()+''
window.location.href = url;
});
它的工作正常,但它总是添加新的参数,而不是取代之前的
?国家= KW?国家= QA
我想在添加新的参数和刷新页面之前删除先前的参数。
答案 0 :(得分:1)
将window.location.href = url
替换为window.location=window.location.href + "?country=" + this.value
window.location.href
只是返回当前页面的href(URL),请在下面的代码段中找到并了解
要从href删除查询字符串,您可以在获取.split('?')[0]
之类的网址后添加window.location.href.split('?')[0]
$(function(){
$("#country").change(function(){
debugger;
window.location=window.location.href.split('?')[0] + "?country=" + this.value
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="country_id" id="country" class="validate-select" title="Country">
<option value=""></option>
<option value="BH">Bahrain</option>
<option value="KW">Kuwait</option>
<option value="OM">Oman</option>
<option value="QA">Qatar</option>
<option value="SA">Saudi Arabia</option>
<option value="AE">United Arab Emirates</option>
</select>
答案 1 :(得分:1)
尝试使用window.location.search
您可以更新参数值或添加新参数
jQuery('#country').change(function(){
query = 'country=' + $(this).val();
window.location.search = query;
});
答案 2 :(得分:0)
这对你有用
url+=url.split('?')[0]+jQuery(this).val()+'';
或者您也可以将您的网址var声明为url = window.location.host;