簡體   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