在jquery中用两个下拉列表更新URL
Update URL with two dropdown list in jquery
我确实有两个这样的选择框。
<select class="" id="sender" name="sender">
<option value="">---Select sender ---</option>
<option value="1">Corliss Barrie</option>
<option value="2">Marcie Nava</option>
<option value="3">Weston Bryand</option>
<option value="4">Osvaldo Lasker</option>
<option value="5">Regan Ruckman</option>
</select>
<select class="" id="reciever" name="reciever">
<option value="">---Select sender ---</option>
<option value="1">Araceli Scheff</option>
<option value="2">Assunta Marsch</option>
<option value="3">Yang Wengerd</option>
<option value="4">Branden Purtee</option>
<option value="5">Krystal Fresquez</option>
</select>
我的问题是,我需要用这两个选择框值更新url,只有当两个下拉框都被选中时。
我可以像下面这样用一个下拉框来做,但不知道如何用两个下拉框。
$('#sender').change(function(){
var url = "?sender="+$(this).val();
window.location = url;
});
但我期望的url与此类似:
?sender=value&reciever=value
希望有人能帮我。非常感谢。
您可以很容易地将逻辑外包到一个函数中,如果两个值都给定,则该函数只更改url
$('#sender, #receiver').change(changeUrl);
function changeUrl(){
if($('#receiver').val() != "" && $('#sender').val() != "" ){
url = "?sender="+$('#sender').val()+"&receiver="+$('#receiver').val();
window.location = url;
}
}
只需添加另一个事件侦听器和一个条件:
function changeURL(){
if($('#sender').val()!="" &&$('#receiver').val()!=""){
var url = "?sender="+$(this).val()+'&receiver="+$('#receiver').val();
window.location = url;
}
}
$('#sender').change(changeURL);
$('#receiver').change(changeURL);
这是一把正在工作的小提琴。为两个select
元素添加了一个公共类url
。然后对更改事件执行功能。
$('.url').change(function(){
var sender = $('#sender').val();
var receiver = $('#reciever').val();
if(sender !== '' && receiver !== '') {
var url = "?sender=" + sender + "&reciever=" + receiver;
window.location = url;
}
});
这样使用它:
<select class="changeurl" id="sender" name="sender">
<option value="0">---Select sender ---</option>
<option value="1">Corliss Barrie</option>
<option value="2">Marcie Nava</option>
<option value="3">Weston Bryand</option>
<option value="4">Osvaldo Lasker</option>
<option value="5">Regan Ruckman</option>
</select>
<select class="changeurl" id="reciever" name="reciever">
<option value="0">---Select reciever ---</option>
<option value="1">Araceli Scheff</option>
<option value="2">Assunta Marsch</option>
<option value="3">Yang Wengerd</option>
<option value="4">Branden Purtee</option>
<option value="5">Krystal Fresquez</option>
</select>
你的jquery代码会像这样:
$('.changeurl').on('change', function (e) {
if( $('#sender').val()!="0" && $('#reciever').val()!="0" ){
var newURLString = window.location.href + "?sender=" + $('#sender').val() + "&reciever=" + $('#reciever').val();
window.location.href = newURLString;
}
});
相关文章:
- 根据两个下拉列表的默认值禁用按钮
- 使用两个下拉列表的值填充文本框
- 需要在 html 中使用两个下拉列表来显示不同的 json 值
- 两个下拉列表中的文本字段
- 如何在AngularJS中显示基于两个下拉列表的内容
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- Kendo Grid UI水印列或一列的两个下拉列表
- jQuery 使用两个下拉列表更改输入 css 样式
- 如何使用 AJAX 根据两个下拉列表的值从数据库中检索数据
- 使用 Ajax 一次填充两个下拉列表
- 移动网站的两个下拉列表
- 同时打开两个下拉列表时出现问题
- 对两个下拉列表交替约束的最佳方法
- Bootstrap3 在同一行上有两个下拉列表
- 如何使用数据属性而不是它们的值来链接两个下拉列表
- 显示基于彼此的两个下拉列表中的项目
- 跟踪两个下拉列表中的值
- 在jquery中用两个下拉列表更新URL
- 如何使用javascript用一个按钮交换两个下拉列表
- 如何连接两个下拉列表,并在HTML和php中放置条件