提问者:小点点

如何在我的表上自动增加数字


我想在我的表上自动增加数字

表通过jquery从ajax请求加载数据,如下所示

function loadData(){
    $.ajax({
      type: "post",
      url: "../myCrud/display.php",             
      dataType: "html",   //expect html to be returned                
      success: function(result){                    
        var resObj = JSON.parse(result);
        var dataHandler = $("#loader");
        $.each(resObj,function(key,val){
          i = 1;
          for();
          var newRow = `<tr><td>${i}</td><td>${val.id}</td><td>${val.product_name}</td><td>${val.stock}</td><td>${val.price}</td><td>${val.product_desc}</td><td>${val.sold}</td><td>${val.img}</td></tr>`
          dataHandler.append(newRow);
        })
      }
    })
}

这是我的html代码:

<table class="table table-striped">
  <thead>
    <tr>
      <th>#</th>
      <th>Product Id</th>
      <th>Product Name</th>
      <th>Stock</th>
      <th>Price</th>
      <th>Product Description</th>
      <th>Sold</th>
      <th>Image</th>
    </tr>
  </thead>
  <tbody id="loader">

  </tbody>
</table>

我希望“#”栏的号码是自动的。


共3个答案

匿名用户

你就快到了。 只需计算length并使用eq即可。

var resObj = JSON.parse(result);
var length = Object.keys(resObj ).length;
$('.table-striped th').eq(0).html(length);

匿名用户

null

function loadData(){
    let i = 1;
    $.ajax({
      type: "post",
      url: "../myCrud/display.php",             
      dataType: "html",   //expect html to be returned                
      success: function(result){                    
        var resObj = JSON.parse(result);
        var dataHandler = $("#loader");
        $.each(resObj,function(key,val){
          i = i+1;
          for();
          var newRow = `<tr><td>${i}</td><td>${val.id}</td><td>${val.product_name}</td><td>${val.stock}</td><td>${val.price}</td><td>${val.product_desc}</td><td>${val.sold}</td><td>${val.img}</td></tr>`
          dataHandler.append(newRow);
        })
      }
    })
}

匿名用户

在您的文章中,您只在循环内部声明i,而不是递增,因此将i放在循环外部并在循环内部递增

function loadData(){
$.ajax({
  type: "post",
  url: "../myCrud/display.php",             
  dataType: "html",   //expect html to be returned                
  success: function(result){                    
    var resObj = JSON.parse(result);
    var dataHandler = $("#loader");
    var i = 1;
    $.each(resObj,function(key,val){
      i = i++;
      for();
      var newRow = `<tr><td>${i}</td><td>${val.id}</td><td>${val.product_name}</td><td>${val.stock}</td><td>${val.price}</td><td>${val.product_desc}</td><td>${val.sold}</td><td>${val.img}</td></tr>`
      dataHandler.append(newRow);
    })
  }
})
}