【问题标题】:.each index starts at 0, how can I change it to start at 1.每个索引从 0 开始,如何将其更改为从 1 开始
【发布时间】:2016-04-14 20:14:20
【问题描述】:

我正在使用 .each 函数来构建下拉列表。我了解数组元素的索引始终从 0 开始的编程基础知识。当我构建此下拉列表时,我需要第一个值为 1。这就是我所拥有的。

             $.each(codes, function(key,value){
        $('#columnD1').append('<option value="' + key + '">' + key + ' - ' + value + '</option>');
    })

所以正如预期的那样,我得到 0 - Item1、1 - Item2、2 - Item3。但是这些代码特定于某些值。 1 用于项目 1,2 用于项目 2。当我去插入它不会有问题,因为我可以在插入之前修复它,我遇到的问题是,我需要客户查看他们正在挑选的物品的代码编号,因为在某些地方价值对客户没有任何意义,因为他们已经记住了代码。

【问题讨论】:

  • 我试过了。它连接它,不添加。所以我得到01,11,12.....
  • (parseInt(key) + 1)
  • 因为您需要在括号 (key + 1) 之间执行此操作 .. 另外,请仔细检查 key 是否为 int,如果不是则执行 parseInt(key)
  • 所有这些建议都奏效了!!!谢谢大家!!

标签: javascript jquery ajax


【解决方案1】:

您可以在使用之前添加到密钥,就像在 for 循环中一样。

fiddle demo

$.each(codes, function(key, value) {
  key++;
  $('#columnD1').append('<option value="' + key + '">' + key + ' - ' + value + '</option>');
})

【讨论】:

    【解决方案2】:
        $.each(codes, function(key,value){
        $('#columnD1').append('<option value="' + (key + 1) + '">' + (key + 1) + ' - ' + value + '</option>');
    })
    

    会给你你想要的。

    【讨论】:

      【解决方案3】:
      $.each(codes, function(key, value) {
        if (key == 0) {
          return false;
        }
        $('#columnD1').append('<option value="' + key + '">' + key + ' - ' + value + '</option>');
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-15
        • 2011-06-13
        • 1970-01-01
        • 2023-03-30
        相关资源
        最近更新 更多