选择更改后使用jQuery更改href参数

时间:2012-01-09 10:27:05

标签: javascript jquery

我需要使用jQuery更改几个href参数,并由两个表单选择选项驱动。下面的示例工作正常,但是从文本输入驱动,并且在将其转换为使用select时无法使用。

https://stackoverflow.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();
});

2 个答案:

答案 0 :(得分:1)

我最终使用了以下代码:

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>

答案 1 :(得分:0)

编辑:这应该有用 - jsfiddle.net/9dGdC

首先,将选择字段中每个选项标签的value属性设置为相应的href值,如下所示。

<select>
 <option value="www.example.com">Option 1</option>
</select>

然后,使用此代码:

$('select').change(function(){
 $('.link').attr('href',$(this).val())
});

这将改变链接的href属性!