Saya baru saja membuat respons ajax tetapi saya tidak tahu cara memberikan bidang input di sini .. saya pemula di Ajax, dapatkah Anda menyarankan cara apa pun ..

$.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);
        }
    });
0
Joe 25 Oktober 2019, 15:36

2 jawaban

Jawaban Terbaik

Benar-benar tebakan, Anda ingin bidang teks di kolom baris dengan nilai yang telah diisi sebelumnya:

$("#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>`);
1
Bilal Siddiqui 25 Oktober 2019, 12:47

Jika Anda berbicara tentang mengikat data ke dalam formulir input dari respons:

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);
      }
    }
  );
}

Anda dapat mendefinisikan fungsi ini di suatu tempat di proyek Anda yang tersedia secara global dan kemudian cukup panggil populate(response.data)

Harap abaikan fungsi financialValFormat. Fungsi ini hanya digunakan untuk memformat bidang nilai uang.

1
Tashi Dendup 25 Oktober 2019, 13:03