如何在DOM中添加自动增量

约翰·苏恩(John Soon):

我在JavaScript中添加自动递增功能时遇到问题。例如,如果Kod Terakhir为100-1 / 5,则在显示输入字段为100-1 / 6时,这意味着每次都会从Kod Terakhir数字中进行检测,并在该数字后面加1。

以下是我的JavaScript代码:

        var id_selected = selectObject.value;
        var cate_id_selected = selectObject.selectedOptions[0].getAttribute("data-cat_id");
        var root_selected = selectObject.selectedOptions[0].getAttribute("data-root");
        var action = 'find_max_code';
        $.ajax({
        url:'?f=kod_perfailan',
        type:'POST',
        data:{id_selected: id_selected,
                    cate_id_selected: cate_id_selected,
                    root_selected: root_selected,
                    action: action
        },
        success:function(data) {
            if(data.trim() !== ""){
                    // document.getElementById("function_code_last").innerHTML = "*Kod Terakhir: " + data;
                    document.getElementById("activity_code_last").innerHTML = "*Kod Terakhir: " + data;
                    document.getElementById("sub_activity_code_last").innerHTML = "*Kod Terakhir: " + data;
                    document.getElementById("transaction_code_last").innerHTML = "*Kod Terakhir: " + data;
                    document.getElementById("activity_code").value = data + 1;
                    document.getElementById("sub_activity_code").value = data + 1;
                    document.getElementById("transaction_code").value =  data + 1;                  
            }else{
                    // document.getElementById("function_code_last").innerHTML = "*Tiada Data Disimpan";
                    document.getElementById("activity_code_last").innerHTML = "*Tiada Data Disimpan";
                    document.getElementById("sub_activity_code_last").innerHTML = "*Tiada Data Disimpan";
                    document.getElementById("transaction_code_last").innerHTML = "*Tiada Data Disimpan";
            }
        }

下面是我的输出,但这是错误的,因为输入字段应该是100-1 / 6,而不是100-1 / 51我认为我的代码数据+1;这里有问题。

输出1

实际上我希望成功输出在图片下方:

在此处输入图片说明

因此,下面的输入字段可能会显示数字格式(示例):

100-1/xxxx
100-1/5/xxxx
100-1/5/10/xxxx
256-1/10/xxxx

这意味着xxxx编号每次需要加1才能进行自动递增。我的号码存储在数据中

希望有人可以指导我如何解决这个问题。谢谢。

贾斯汀·奥托(Justin Otto):

您需要标记字符串,删除并增加您感兴趣的部分。似乎您只是在执行字符串连接操作。

  function incrementSubActivityCode(sac) {
    var p = sac.lastIndexOf("/") + 1;
    return (p === 0) ? sac :
      sac.substr(0, p) + (parseInt(sac.substr(p)) + 1);
  }
       
  // Example value
  var data = "100-1/5/10/5";

  // Incorrect - performs concatenation
  document.getElementById("sub_activity_code").value = data + 1;

  // Corrected - now performs increment
  document.getElementById("sub_activity_code").value = incrementSubActivityCode(data);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章