使用jQuery

时间:2017-11-02 21:54:53

标签: javascript jquery html ajax

我使用AJAX动态生成表单,点击按钮我添加了更多输入字段。但是当我在输入字段中输入值并在开发人员控制台中检查时,我在输入文本框中看不到任何值。

生成表单的代码

$.ajax({
  method: 'GET',
  url: 'api/PayrollSystem/GetEmployeeSalaryAmount?AdminId=' + 1,
  success: function(data) {

    if (Object.keys(data).length == 0) {
      $.alert({
        title: 'Saved',
        content: 'Account Number Saved!',
      });
      var row = ('<tr ><td colspan="3" text-align="center"> <b>No Registered Users</b></td></tr>');
      $('.EmpTable').append(row);
    } else {
      $.each(data, function(index, value) {
        var rows = ('<div id="form_div"><form method="post"><table  class="table table-hover employee_table' + index + ' " align=center><thead><tr><td><b>Employee</td> <td><b>Amount</td></tr></thead><tbody><tr><td><b>' + value.FullName + '</b></td><td><input type="hidden" class="form-control Leavename" name="Leavename[]" value="Basic" placeholder="Enter Leave Name">  <input readonly class="form-control LeaveAmount" type="number" name="LeaveAmount[]" value=' + value.SalaryAmount + ' /><input  class="form-control EmpId" type="hidden" name="Id[]" value=' + value.Id + ' /></td></tr><tr id="row' + index + 1 + '"><td><input type="text" class="form-control Leavename" name="Leavename[]" placeholder="Enter Leave Name">  </td><td>   <input type="number" class="form-control LeaveAmount" name="LeaveAmount[]" placeholder="Enter Leave Amount"></td>  </tr></tbody> </table> <input type="button" class="btn btn-success addRow" onclick="add_row(' + index + '); " value=" + Add More Payroll Item"></form>  </div><hr />');

        $('.EmpTable').append(rows);
      });
    }
  }
});

将包含新文本框的行附加到表单的代码

function add_row(index) {

  $rowno = $(".employee_table tr").length;
  $rowno = $rowno + 1;
  $(".employee_table" + index + " tr:last").after("<tr id= 'row" + $rowno + "' > <td><input type='text' class='form-control Leavename' name='Leavename[]' placeholder='Enter Leave Name'>  </td><td> <input type='number' name='LeaveAmount[]' class='form-control LeaveAmount' placeholder='Enter Leave Amount'></td><td> <input type='button'  value='x' onclick=delete_row('row" + $rowno + "') ><br></td></tr>");
}

我们将非常感谢您的直接帮助。

编辑:我的循环逻辑在循环生成每个表单的文本框时没有给出任何值。

$('#saveAdj').click(function() {
  $('form').each(function() {
    var thisForm = this;
    alert($('.EmpId', thisForm).val());
    alert($('.Leavename', thisForm).val());
    alert($('.LeaveAmount', thisForm).val());
  });
})

enter image description here

0 个答案:

没有答案