我有一些选择字段,用于设置我的数据表的 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/