在' .each'中迭代数字jQuery的

时间:2016-12-01 07:48:37

标签: javascript jquery

我有一个类似下面的jQuery脚本,我想在kode上设置name='service_id["+kode+"]'的递增数字。问题是数字还没有递增,只显示了1。

如何设置行的递增数?

这是我的剧本:

function getCorporateService(id){
    // get data and parsing to column
    $.get("{{ url('salesorder/service')}}/"+id, function(data){
        console.log(id);
        console.log(data);

        var kode = 0;
        $.each(data, function (index, element){
            kode++;
            $br = "<tr id='item'>";
            $br += "<td> <input class='input-small' type='text' id='order_identifier' name='order_identifier' readonly></td>";
            $br += "<td><input class='input-small' type='text' id='service_id["+id+"]' name='service_id["+kode+"]' value='"+element.service_name+"' readonly></td>";
            $br += "<td><select id='order_type["+id+"]' name='order_type["+id+"]'> <option> - </option> <option value='add'>Add</option> <option value='change'>Change</option> <option value='cancel'>Cancel</option> </select></td>";
            $br += "<td><input class='input-small' type='text' id='select_plan["+id+"]' name='select_plan["+kode+"]'></td>";
            $br += "<td><input class='input-mini' type='text' id='qty["+id+"]' name='qty["+kode+"]' value='1' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><input class='input-small' type='text' id='unit_price["+id+"]' name='unit_price["+kode+"]' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><input class='input-small' type='text' id='total_price["+id+"]' name='total_price["+kode+"]' onChange='getTotalPrice("+id+")'></td>";
            $br += "<td><textarea class='input-small' id='notes["+id+"]' name='notes["+kode+"]'></textarea></td>";
            $br += "</tr>";

            $(".corporatesvc").append($br);

        });
     });
}

1 个答案:

答案 0 :(得分:1)

您从响应中收到的JSON数据似乎存在问题。

参见工作示例:

&#13;
&#13;
$(document).ready(function() {
  var data = [{
    "service_name": "Test 1",
    "Major": "Physics"
  }, {
    "service_name": "Test 2",
    "Major": "Chemistry"
  }, {
    "service_name": "Test 3",
    "Major": "Mathematics"
  }];
  var id = 1;
  var kode = 0;
  $.each(data, function(index, element) {
    kode++;
    $br = "<tr id='item'>";
    $br += "<td> <input class='input-small' type='text' id='order_identifier' name='order_identifier' readonly></td>";
    $br += "<td><input class='input-small' type='text' id='service_id[" + id + "]' name='service_id[" + kode + "]' value='" + element.service_name + "' readonly></td>";
    $br += "<td><select id='order_type[" + id + "]' name='order_type[" + id + "]'> <option> - </option> <option value='add'>Add</option> <option value='change'>Change</option> <option value='cancel'>Cancel</option> </select></td>";
    $br += "<td><input class='input-small' type='text' id='select_plan[" + id + "]' name='select_plan[" + kode + "]'></td>";
    $br += "<td><input class='input-mini' type='text' id='qty[" + id + "]' name='qty[" + kode + "]' value='1' onChange='getTotalPrice(" + id + ")'></td>";
    $br += "<td><input class='input-small' type='text' id='unit_price[" + id + "]' name='unit_price[" + kode + "]' onChange='getTotalPrice(" + id + ")'></td>";
    $br += "<td><input class='input-small' type='text' id='total_price[" + id + "]' name='total_price[" + kode + "]' onChange='getTotalPrice(" + id + ")'></td>";
    $br += "<td><textarea class='input-small' id='notes[" + id + "]' name='notes[" + kode + "]'></textarea></td>";
    $br += "</tr>";

    $(".corporatesvc").append($br);

  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="corporatesvc">

</div>
&#13;
&#13;
&#13;

请参阅jsFiddle中的代码段:https://jsfiddle.net/z6gbcutg/2/