我有ts代码
这是
export function load_form_actions() {
$('#step_2_form').on('ajax:before', function(data) {
$('#step_2_submit_btn').hide();
$('#step_2_form .yd-button-pop').hide();
$('#step_2_spinner').show();
if ($('input[class=error]')) {
return Array.from($('input[class=error]')).map((input) =>
(input.className = ''));
}
});
return $('#step_2_form').on('ajax:success', function(e, data, status, xhr) {
if (data.errors) {
for (let error_obj of Array.from(data.errors)) {
if ($(`#${error_obj[0]}`).length) {
$(`#${error_obj[0]}`).tooltipster({ contentAsHTML: true, theme: 'tooltipster-red', trigger: 'custom', content: error_obj[1].join('<br /><br />') });
$(`#${error_obj[0]}`).tooltipster('open');
}
}
setTimeout(() => {
// @ts-ignore
$.tooltipster.instances().forEach(element => {
element.destroy()
});
}, 3000);
$('#step_2_submit_btn').show();
$('#step_2_form .yd-button-pop').show();
return $('#step_2_spinner').hide();
}
else {
const search_id = document.location.href.split('/')[5];
console.dir(data);
if ((data.result === 'ok') && (data.only_save === true)) {
let i = 0;
let passenger = data.passengers;
console.log(passenger);
for (i = 0; i<= passenger.length -1; i++) {
i += 1;
//$(`#pax_${i}_firstname`).html(passenger[i].firstname);
//$(`#pax_${i}_lastname`).html(passenger[i].lastname);
$(`#pax_${i}`).show();
}
return $.fancybox.open($('#step_2_check_names'), {
modal : true,
afterClose() {
$('#step_2_submit_btn').show();
$('#step_2_form .yd-button-pop').show();
return $('#step_2_spinner').hide();
}
});
} else if (data.result === 'ok') {
return Helpers.navigate(data.url);
} else if (data.result === 'step1') {
Track.log_event("Show unable to book error screen");
return $.fancybox.open($('#step_2_unable_to_book_error'), {
afterClose() {
return Helpers.navigate(data.url);
}
});
} else if (data.result === 'rescheduled') {
localStorage.setItem('rescheduled_flight', '1');
return window.location.reload();
} else {
Track.log_event("Show ajax error screen");
//Honeybadger.notify(raiseError('Ajax not OK on step_2', 'NOT OK'));
return $.fancybox.open($('#step_2_ajax_error'), {
afterClose() {
return Helpers.navigate(data.url);
}
});
}
}
});
};
我需要获取data.passengers
所以我试着这样做
// $(
#pax_${i}_firstname
)HTML(乘客[I] .firstname)。 // $(#pax_${i}_lastname
)HTML(乘客[I] .lastname);
但我收到错误
无法获取未定义的名字。
这是数据对象
这是console.log(passenger)
数据
我无法理解,为什么我有这个错误?
感谢您的帮助。
答案 0 :(得分:0)
我发现问题出在哪里。 我使用它,编号和数组,这不好。
使用此代码,一切都将正常运作
if ((data.result === 'ok') && (data.only_save === true)) {
let number = 0;
let passenger = data.passengers;
console.log(passenger);
for (let i = 0; i<= passenger.length -1; i++) {
number += 1;
$(`#pax_${number}_firstname`).html(passenger[i].firstname);
$(`#pax_${number}_lastname`).html(passenger[i].lastname);
$(`#pax_${number}`).show();
}