使用jQuery在我的HTML文件中附加href链接
我的目标是使用jQuery,通过用户从我的HTML下拉菜单中的选择,在我的页面上动态附加链接。一旦用户选择了他们的选项,我希望将其作为参数添加到使用jQuery在我的HTML文件中附加href链接,jquery,html,Jquery,Html,我的目标是使用jQuery,通过用户从我的HTML下拉菜单中的选择,在我的页面上动态附加链接。一旦用户选择了他们的选项,我希望将其作为参数添加到hrefURL的末尾(URL是指向另一个站点的链接) HTML: 用途和方法: 用途和方法: 您需要编写select元素的更改事件,该元素位于内部。selectdiv.。select这里有一个类名称,该名称指定给div。因此,将更改事件附加到选择。检查内联注释以了解其工作原理 var$char=$('.select').val(); $(“.selec
href
URL的末尾(URL是指向另一个站点的链接)
HTML:
用途和方法:
用途和方法:
您需要编写
select
元素的更改事件,该元素位于内部。select
div.。select
这里有一个类
名称,该名称指定给div
。因此,将更改事件
附加到选择
。检查内联注释以了解其工作原理
var$char=$('.select').val();
$(“.select”).change(函数(){
$char=$(this.val();
如果($char!=“1”){//检查是否已选择默认选项
var link=$('.linka');//获取链接的引用
linkhref=link.attr('href').split('?')[0];//拆分其实际href并存储它
link.attr('href',linkhref+'?param'+$char);//通过组合实际href和param,使用attr更改href
警报(link.attr('href'));
}否则
警报('请选择一个选项');//警报它的默认选项
});代码>
-----选择权-----
A.
B
C
D
E
您需要编写选择中的元素的更改事件。选择div.。选择这里是给div的类的名称。因此,将更改事件
附加到选择
。检查内联注释以了解其工作原理
var$char=$('.select').val();
$(“.select”).change(函数(){
$char=$(this.val();
如果($char!=“1”){//检查是否已选择默认选项
var link=$('.linka');//获取链接的引用
linkhref=link.attr('href').split('?')[0];//拆分其实际href并存储它
link.attr('href',linkhref+'?param'+$char);//通过组合实际href和param,使用attr更改href
警报(link.attr('href'));
}否则
警报('请选择一个选项');//警报它的默认选项
});代码>
-----选择权-----
A.
B
C
D
E
。select
不是下拉列表类。所以你的改变事件永远不会发生。试着像下面这样。希望这对你有帮助
var link=$(.linka”);
$(“选择[name=scroll]”)。更改(函数(){
var char=$(this.val();
var url=link.attr('href').split('?')[0];
link.attr('href',url+'?参数名称='+字符);
//使用参数名而不是参数名
});代码>
-----选择权-----
A.
B
C
D
E
。select
不是下拉列表类。所以你的改变事件永远不会发生。试着像下面这样。希望这对你有帮助
var link=$(.linka”);
$(“选择[name=scroll]”)。更改(函数(){
var char=$(this.val();
var url=link.attr('href').split('?')[0];
link.attr('href',url+'?参数名称='+字符);
//使用参数名而不是参数名
});代码>
-----选择权-----
A.
B
C
D
E
使用change()
方法并使用split
方法获取url,而不使用用于更改href属性的参数。还可以使用$(this)
捕获回调函数中更改的select。
$('select[name=“scroll”]”)。更改(setUrl);
函数setUrl(e){
//$(这是名为“滚动”的“jqueryized”选择
变量$selectBar=$(此),
linkContainer=$(“#链接参数化”),
actualLink=linkContainer.attr('href'),
newLink=actualLink.split('?')[0]+'?'+$selectBar.val();
//禁用用户选择---选择名称----选项
$selectBar.children().eq(0.attr('disabled','disabled');
//更新链接容器中的href属性
linkContainer.attr('href',newLink);
//检查新链接
警报(linkContainer.attr('href');
}
-----选择名称-----
A.
B
C
D
E
使用change()
方法并使用split
方法获取url,而不使用用于更改href属性的参数。还可以使用$(this)
捕获回调函数中更改的select。
$('select[name=“scroll”]”)。更改(setUrl);
函数setUrl(e){
//$(这是名为“滚动”的“jqueryized”选择
变量$selectBar=$(此),
linkContainer=$(“#链接参数化”),
actualLink=linkContainer.attr('href'),
newLink=actualLink.split('?')[0]+'?'+$selectBar.val();
//禁用用户选择---选择名称----选项
$selectBar.children().eq(0.attr('disabled','disabled');
//更新链接容器中的href属性
linkContainer.attr('href',newLink);
//检查新链接
警报(linkContainer.attr('href');
}
-----选择名称-----
A.
B
C
D
E
非常感谢各位!我准备好了。看起来我遇到的最大问题是没有在我的JS中包含下拉列表名称。谢谢大家!我准备好了。看起来我遇到的最大问题是没有在我的JS中包含下拉名称。
<div class= "select">
<select name="scroll">
<option value="1">----- options -----</option>
<option value="2" >A</option>
<option value="3">B</option>
<option value="4">C</option>
<option value="5">D</option>
<option value="6">E</option>
</select>
</div>
<div class="link"> <a href="http://www.example.com"> link </a></div>
var $char = $('.select').val();
$(".select").change(function() {
$char = $(this).val();
alert($char);
});
$(".test").click(function(){
$(".link").href.append("$char");
})
$(".test").click(function(){
$(".link a").attr('href',function(_,v){
return v += $char;
}).text($char);
});