javascript - 如何添加/删除参数以与 jquery 链接

标签 javascript jquery ruby-on-rails coffeescript

我有一些选择字段,用于设置我的数据表的 vendor ID 和状态等。当这些字段更改时,我想将这些参数包含在链接中(该链接调用将数据导出到 csv 的服务器函数)。我对 jquery/coffeescript 的经验非常有限,而且我很难让它发挥作用。到目前为止我所拥有的是:

$ ->
  $('#vendor-id').on 'change', ->
    $('#shipments-table').DataTable().ajax.reload()
    $('a.download-link').attr 'href', (index, href) ->
      param = 'vendor-id='+$('#vendor-id').val();
      if href.charAt(href.length - 1) == '?'
        href + param
      else if href.indexOf('?') > 0
        if href.indexOf(param) == 0
          href + '&' + param
      else
        href + '?' + param
    return

我的代码有两个问题。一是由于某种原因,当我更改值时,参数会被添加到链接两次(例如: http://link.com?vendor-id=1&vendor-id=1 )

第二个问题是,当我为此选择框选择不同的值时,先前的值不会从链接中删除,而是会添加到其中。

我该如何解决这个问题?

最佳答案

您可以在这里找到一些答案:Change URL parameters 。例如:https://stackoverflow.com/a/10997390/4335261 - 它对我有用。只需复制 updateURLParameter 函数并按如下方式使用它:

$ ->
   $('#vendor-id').on 'change', ->
   $('#shipments-table').DataTable().ajax.reload()
   $('a.download-link').attr 'href', (index, href) ->
     updateURLParameter(href, 'vandor-id', $('#vendor-id').val())

关于javascript - 如何添加/删除参数以与 jquery 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38638204/

相关文章:

javascript - 首先将查询 slider 更改为默认幻灯片

javascript - 无法在 Jcrop 中拖动选择,什么会破坏它?

ruby-on-rails - 运行parallel_test时如何合并CircleCI内的多个simplecov目录?

javascript - 如何使用栅格源类型?

javascript - 如何使用 get() 和 res.sendFile() 函数重定向页面?

javascript - 当用户在命令提示符中选择任何字符串时,Node Js 不为任何请求服务

javascript - 主干 View 事件在重新渲染后不起作用

ruby-on-rails - crontab 文件错误,无法安装

ruby-on-rails - 如何在 Ruby on Rails 3.1 中禁用 Assets 管道( sprockets )消息的日志记录?

javascript - Google Maps API v3 不显示