选择更改后使用jQuery更改href参数
我需要使用jQuery更改几个href参数,并由两个窗体选择选项驱动。下面的例子完美的工作,但是从文本输入驱动,并有问题转换为选择工作。选择更改后使用jQuery更改href参数
https://*.com/a/6540265/460322
我知道这不应该是太辛苦,但我有一个重感冒,脑今天早上就像是玉米粥!
至今不工作我的代码:
$(window).load(function(){
function updateNameValue() {
$('#changelink').val($('#option1 option:selected').attr('href', function(i,a){
return a.replace(/(field16=)[a-z]+/ig, '$1'.target.value));
});
});
$('#option1').change(updateNameValue);
updateNameValue();
});
我结束了使用下面的代码:
function changeHref(){
arg1 = $('#o1').val();
arg2 = $('#o2').val();
if (!arg1)
arg1 = 'default1';
if (!arg2)
arg2 = 'default2';
link = "link.html?arg1=" + arg1 + "&arg2=" + arg2;
$('#updateLink').attr("href",link)
}
$('.linkUpdater').change(function(){
changeHref();
});
changeHref();
有了这个HTML:
<select class="linkUpdater" id="o1">
<option value="">Select</option>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
</select>
<select class="linkUpdater" id="o2">
<option value="">Select</option>
<option value="optionA">Option A</option>
<option value="optionB">Option B</option>
</select>
<a id="updateLink" href="link.html">Link</a>
编辑:这应该工作 - jsfiddle.net/9dGdC
首先,设置每个选项标签的值属性选择栏到相应的href值,如下所示。
<select>
<option value="www.example.com">Option 1</option>
</select>
然后,使用此代码:
$('select').change(function(){
$('.link').attr('href',$(this).val())
});
这将改变链接的href属性!
谢谢,但那不是我所追求的。我确实有这样的工作,但我实际上需要更改URL中的参数: /form/field16 = REPLACETHIS&field18 = REPLACETHIS – richardpixel 2012-01-09 10:34:40
这个怎么样? - http://jsfiddle.net/9dGdC/ – 2012-01-09 11:14:43
看起来它会工作。将现在尝试整合并回报 - 谢谢。 – richardpixel 2012-01-09 14:18:12
理查德,你并没有真正让我们了解您试过到目前为止:)通常你只想用对特定改变对象的$ .attr(“href”,“newlink”)函数来改变它的href属性。 – 2012-01-09 10:28:49
给你一些你试过的代码部分。 – 2012-01-09 10:31:01