将所选文本从下拉列表添加到href中 - 然后删除在再次更改href之前添加的内容

时间:2014-03-05 19:41:33

标签: jquery

到目前为止,我的代码将所选文本添加到href:

    $('select#statFilter').change(function () {

    //get the item selected in the dropdown
    var Myval = $("select#statFilter option:selected").text();
    //add it to the specifi url:
     $('a.add.addval').attr('href', $('a.add.addval').attr('href')+Myval);

  }

但是,如果我继续进行选择,href会一直添加到 - 我想要的是清除我刚刚添加的内容并使用新选择附加href:

我试过这个来检查href是否有单词'Active',例如它不起作用:

if($('a.add.addval').attr('href', $('a.add.addval').attr('href'):contains('Active')){
    $('a.add.addval').attr('href', $('a.add.addval').attr('href').replace('Active','')
}

1 个答案:

答案 0 :(得分:1)

这是因为你的代码是这样的。您需要将初始值保留在外部变量中并附加到该变量。现在,您将附加到同一href属性中的任何内容。这是逻辑错误。

var initValue=null;

$('select#statFilter').change(function () {    
    if(initValue==null)
       initValue=$('a.add.addval').attr('href');

    //get the item selected in the dropdown
    var Myval = $("select#statFilter option:selected").text();
    //add it to the specifi url:
     $('a.add.addval').attr('href', initValue+Myval);

}