如何使用 jquery add/remove 参数到 link
How to add/remove params to link with jquery
我有一些 select 字段,例如为我的数据表设置供应商 ID 和状态。当这些字段发生变化时,我想将这些参数包含在 link 中(link 调用将数据导出到 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
我的代码有两个问题。一个是由于某种原因,当我更改值时,参数被添加到 link 两次(例如: http://link.com?vendor-id=1&vendor-id=1 )
第二个问题是,当我 select 这个 select 框的不同值时,以前的值不会从 link 中删除,而是添加到它上面。
我该如何解决这个问题?
您可以在这里找到一些答案:Change URL parameters. For example: - 它对我有用。只需复制 updateURLParameter 函数并以这种方式使用它:
$ ->
$('#vendor-id').on 'change', ->
$('#shipments-table').DataTable().ajax.reload()
$('a.download-link').attr 'href', (index, href) ->
updateURLParameter(href, 'vandor-id', $('#vendor-id').val())
我有一些 select 字段,例如为我的数据表设置供应商 ID 和状态。当这些字段发生变化时,我想将这些参数包含在 link 中(link 调用将数据导出到 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
我的代码有两个问题。一个是由于某种原因,当我更改值时,参数被添加到 link 两次(例如: http://link.com?vendor-id=1&vendor-id=1 )
第二个问题是,当我 select 这个 select 框的不同值时,以前的值不会从 link 中删除,而是添加到它上面。
我该如何解决这个问题?
您可以在这里找到一些答案:Change URL parameters. For example: - 它对我有用。只需复制 updateURLParameter 函数并以这种方式使用它:
$ ->
$('#vendor-id').on 'change', ->
$('#shipments-table').DataTable().ajax.reload()
$('a.download-link').attr 'href', (index, href) ->
updateURLParameter(href, 'vandor-id', $('#vendor-id').val())