选择2更改选择选项,然后根据选项附加或剥离URL


Select2 onchange select option then append or strip url depending on option

目前我通过 php 设置了一个select下拉过滤器,如下所示:

<?php if($this->config->get("config_show_tmall_only")){?>
  <?php if(isset($code) && $code=="tmall"){?>
  <select id="tmallFilter">
    <option value="&code=tmall">Tmall only</option>
    <option value="">Taobao &amp; Tmall</option>
  </select>
  <?php }else{?>
  <select id="tmallFilter">
    <option value="">Taobao &amp; Tmall</option>
    <option value="&code=tmall">Tmall only</option>
  </select>
  <?php }?>
<?php }?>

它检测&code=tmall是否在 url 中并运行第一个块

我正在通过这个完全按照我需要的方式运行的脚本附加&code=tmall

$('#tmallFilter').bind('change', function () {
    var brwsr_url=document.URL;
    var redirecturl= brwsr_url + $(this).val();
    location.href = redirecturl;
});

我遇到的问题是,当我需要返回Taobao & Tmall时,我只能添加到 url,而不能根据该选择去除字符。

当我选择Taobao &amp; Tmall选项时,有什么方法可以从 url 中删除&code=tmall

这是

为了剥离&code=tmall专门使用String.replace

$('#tmallFilter').bind('change', function () {
    var brwsr_url = document.URL;
    var redirecturl= brwsr_url.replace(/&code=tmall/, '') + $(this).val();
    location.href = redirecturl;
});