带有JQuery的选定选项-在Chrome BUT中无法在页面加载中使用

时间:2019-02-09 13:00:56

标签: javascript jquery select

我有这个选择:

  <div>
    <select id="action" multiple></select>
  </div>

  <script src="https://d3js.org/d3.v5.min.js"></script>
  <script src="array.js"></script>

  <script>$('#action option[value="transferred"]').attr("selected", "selected");</script>

Array.js正在使用选项填充“选择”。加载页面后,不会选择任何选项(尽管上面的代码中最后出现的JQuery脚本)。

当我尝试在chrome中运行相同的JQuery指令时,在同一页面上,选择了“转移”选项。

为什么要重新加载页面却没有选择任何选项,就像JQuery脚本不起作用一样?

编辑: 我从评论中了解到,填充脚本可以实现诺言。 然后,我将JQuery脚本移至填充的array.js文件中,如下所示:

function populateLists() {
  d3.json('data.json').then( function(data) {
    const keys = [
      "coin_lab",
      "action",
      "from",
      "to"]

    var list = new Object;

    keys.forEach(key => {
        let unique = [...new Set(data.map(item => item[key]))];
        list[key] = unique;
    })

    $('select').empty();
    list.action.forEach(act => {
      $('select').append(new Option(act, act))
    })
  })
  .then($('#action option[value="transferred"]').attr("selected", "selected");
}

populateLists();

不幸的是,这不起作用,因为它可能是使用.then()的错误方法。 有帮助吗?

0 个答案:

没有答案