数组中元素的.click()函数会破坏我的for循环

时间:2017-07-20 08:54:20

标签: javascript jquery for-loop

我的文档有问题,我想在用户开始导出后为用户下载。

文档的生成工作正常,因此我的代码的第一部分。所以直到最后一个for循环的一切都只是为了上下文。 for循环中的第一个文件正在下载,但.click函数以某种方式打破了我的for循环。所以在这行代码之后没有任何事情发生。我还尝试使用新元素的id单击jQuery。我对此感到有些失落。

object.checked是一个包含每个实体的对象和一个表示是否应该创建文档的布尔值。

object.usedFormats是一个Object,它还包含每个实体和一个整数,表示是否应该将其创建为excel或pdf文件。

var docs = []

for(var prop in object.checked) {
  if(object.checked[prop] == true) {
    var a = document.createElement('A')
    if(object.usedFormats[prop + 'Format'] == 0) {
      a.href = 'api/export?type=' + prop
      a.target = "_blank"
    } else if(object.usedFormats[prop + 'Format'] == 1) {
      //TODO pdf Aufruf sobald Feature verfügbar
      a.href = 'api/exportpdf?type=' + prop
      a.target = "_blank"
    } else {
      Toastr.error('Falsches Format für Export gewählt!')
    }
    docs.push(a)
  }
}

for (var i = 0; i < docs.length; i++) {
  docs[i].id = 'dllink' + i
  document.body.appendChild(docs[i])
  docs[i].click()
  document.body.removeChild(docs[i])
}

0 个答案:

没有答案