データベースに新しい患者を追加し、jsonデータを取得してから、選択メニューに新しい患者を追加する関数があります。それはうまくいきます。そのデータを対応するテキスト入力、つまりinput#patient_id、input#patient_firstnameなどに追加する必要があります。これらは.ajax completeで発生するはずですが、何も起こりません。
助けていただければ幸いです!
アヤックス
$('#newpatient').click(function() {
var patientadd = $('#patientaddform').serializeArray();
$.ajax({
url: 'adam.php',
type: "POST",
data: patientadd,
dataType: 'json',
success: function(data){
var html = '';
var len = data.length;
for (var i = 0; i< len; i++) {
html += '<option selected="selected" value="' + data[i].patient_id + '">' + data[i].patient_firstname + ' ' + data[i].patient_lastname + ' : ' + data[i].patient_dob + '</option>';
}
alert(html);
$('#patientselect').prepend(html);
$('#patientselect').selectmenu('refresh', true);
},
complete: function (data) {
for(var id in data) {
$('input#' + id).val( data[id] );
}
}
});
});
jsonデータが返されました
[{"patient_id":"22","patient_firstname":"","patient_lastname":"","patient_dob":"0000-00-00"}]
対応するテキスト入力フィールドはinput#patient_id、input#patient_firstnameなどです。そのため、ajax completeのidに「input#」を追加してから、そのvalをテキスト入力に追加しようとしています。