如何根据下拉选择更新(附加)一个href?

时间:2013-12-03 16:54:39

标签: javascript jquery

如何根据下拉选择附加到href链接值?

示例:

<option value="100" selected="selected">MyList</option>

还有一个超链接:

<a href="www.mysite.com/insert/place_where_insert_the_selected_value"></a>

所以链接将是:

<a href="www.mysite.com/insert/100"></a>

感谢您的支持

我试过

$('#IdMenuToEdit').change(function() {

    var id = $( "#IdMenuToEdit option:selected" ).val();
    var href = $('a.with-tip[name="DeleteMenu"]').attr("href");

    $('a.with-tip[name="DeleteMenu"]').attr('href',href+"/"+id);



});

它有效但不是很优雅

3 个答案:

答案 0 :(得分:1)

类似的东西:

var valselected = $('select option:selected').val();
$('a').attr('href','www.mysite.com/insert/'+valselected);

就像那样,如果你提供更完整的代码,我可以提供更完整的答案。 更准确地说,此代码需要来自组合框和

等组件的一些“id”或“name”

答案 1 :(得分:0)

尝试:

CHANGE_LINK();

$("select").change(function(){
    change_link();
});
function change_link(){
    var val = $("select option:selected").val();
    $("a").each(function(){
        var nhref = "";
        var href = $(this).attr("href").split("/");
        for(var i=0;i<href.length-1;i++){
            nhref += href[i]+"/";
        }
        nhref += val;
        $(this).attr("href",nhref);
    });
}

DEMO here.

答案 2 :(得分:0)

这将是一种更有效的方法:

让你的HTML如下:

<select id="mycombo">
<option value="100" selected="selected">MyList</option>
... 
</select> 
 <a id="mylink" href="www.mysite.com/insert/"></a>

现在,您捕获组合的更改事件,然后根据所选值更改链接href。第一次保存base_href,以避免每次都计算它。

var base_href="";
$('#mycombo').on('change', function() {
   var value=$(this).val();
    if (base_href=="")
        base_href = $("#mylink").attr("href");
   $("#mylink").attr("href",base_href+value);
 });