繁体   English   中英

我如何在这里给出输入字段?

[英]How can i give the input fields here?

我刚刚创建了 ajax 响应,但我不知道如何在此处提供输入字段..我是 Ajax 的新手,请您提出任何建议..

$.ajax({
        type: "GET",
        url: 'get/' + vouchno,
        // cache: false,
        success: function(data) {
            alert(data);
            alert(JSON.stringify(data));
            $('#vochDate').val(data.strvouchdt);
            $('#cashbill').val(data.billtype);
            $('#cashref').val(data.refno);
            $('#cashAc').val(data.acctname);
            $('#refdate').val(data.refdt);
            $('#payacc_code').val(data.acctcode);
            $('#cashAc').val(data.acctname);
            $('#cashAc').val(data.acctname);

            for (var i = 0; i < data.cashpayments.length; i++) {

                $("#tab_logic ").append('<tr><td>' + '<input type="text">' + data.cashpayments[i].acctcode + '</td>' +
                    '<td>' + '<input type="text">' + data.cashpayments[i].debit + '</td>' +
                    '<td>' + '<input type="text">' + data.cashpayments[i].acctcode + '</td>' +
                    '<td>' + '<input type="text">' + data.cashpayments[i].acctcode + '</td>' +
                    '<td>' + '<input type="text">' + data.cashpayments[i].acctcode + '</td>' + '</tr>');
            }
        },
        failure: function(data) {
            alert(data.responseText);
        },
        error: function(data) {
            alert(data.responseText);
        }
    });

完全是猜测,您希望行列中的文本字段预先填充值:

$("#tab_logic").append(`<tr><td><input type="text" value="${data.cashpayments[i].acctcode}"></td>
                    <td><input type="text" value="${data.cashpayments[i].debit}"></td>
                    <td><input type="text" value="${data.cashpayments[i].acctcode}"></td>
                    <td><input type="text" value="${data.cashpayments[i].acctcode}"></td>
                    <td><input type="text" value="${data.cashpayments[i].acctcode}"></td></tr>`);

如果您正在谈论将数据绑定到响应中的输入表单:

function populate(data) {
  for (var i in data) {
    if (typeof (data[i]) === 'object') {
      //populate(data[i]);
    } else {
      $(
        "input[type='text'][name='" + i + "']," +
        " input[type='hidden'][name='" + i + "'], " +
        "input[type='checkbox'][name='" + i + "'], " +
        "select[name='" + i + "'], textarea[name='" + i + "']"
      )
        .val(data[i]);

      $("input[type='radio'][name='" + i + "'][value='" + data[i] + "']").prop('checked', true);
      if ($("input[name='" + i + "']").hasClass('datepicker')) {
        $("input[name='" + i + "']").val($.datepicker.formatDate("dd-M-yy", new Date(data[i])));
      }
      if ($("input[name='" + i + "']").hasClass('financialValueFormat')) {
        var formatedAmount = financialValFormat(data[i]);
        $("input[name='" + i + "']").val(formatedAmount);
      }
    }
  }

  $('form').find('input[type="checkbox"]').each(
    function () {
      if ($(this).siblings('input[type="hidden"]').val() == "true" ||
        $(this).siblings('input[type="hidden"]').val() == 1) {
        $(this).prop('checked', true);
      } else {
        $(this).prop('checked', false);
      }
    }
  );
}

您可以在项目中的某个位置定义此 function 全局可用,然后只需调用populate(response.data)

请忽略功能financialValFormat 此 function 仅用于格式化物有所值字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM