Довольно плохо знаком с кодированием, извините, если это просто ...
Я работаю над веб-приложением, в котором нажатие кнопки «Поиск» запускает ajax-запрос для получения набора данных, который затем используется для заполнения таблицы с использованием метода jQuery .DataTable.
То, что я пытаюсь сделать, - это получить одно и то же событие нажатия кнопки поиска, чтобы отобразить ту или иную ссылку, в зависимости от того, что находится в возвращаемых данных, на отдельной части страницы.
Более конкретно, событие щелчка для поиска извлекает записи / строки, которые являются либо "счетами", либо "инициативами", и один поиск может извлекать записи обоих типов (если для данного числа существуют оба типа, что является критерием поиска) ). В таблице не отображается столбец, указывающий, какой тип записи, но эта информация должна быть частью объекта, возвращаемого из вызова ajax (я думаю?); у каждой записи есть поле с именем «request_type», которое имеет «B» для счета, «I» для инициативы.
Если пользователь выполняет поиск по номеру, в котором есть записи об инициативе, я хочу, чтобы ссылка на информацию об инициативе появлялась за пределами таблицы в другом элементе div. Если номер имеет записи счета, должна появиться другая ссылка. Если это и то и другое, то должны появиться две ссылки - по одной на каждую.
Я понимаю, что в конечном итоге я хочу условное, как
if (???something saying initiatives and bills are in the returned data???) {
$('#url1Div').html("<a href='" + newURL1 + "' target='_blank'>View bill information</a>");
$('#url2Div').html("<a href='" + newURL2 + "' target='_blank'>View initiative information</a>");
} else if (???just initiatives?? {
$('#url2Div').html("<a href='" + newURL2 + "' target='_blank'>View initiative information</a>");
} else if (???just bills???) {
$('#url1Div').html("<a href='" + newURL1 + "' target='_blank'>View bill information</a>");
};
Я просто не знаю, как должны выглядеть эти условные выражения, учитывая, что я пытаюсь работать с возвращаемым объектом с данными.
Сначала я пытался просто прочитать информацию из одного из столбцов разметки отображаемой таблицы, например
var initiativeExists;
$('#table tr td:nth-child(3)').each(function () {
var texttocheck = this.innerText.trim();
if (texttocheck.includes("I")) {
initiativeExists = true;
return false;
}
return false;
});
Тогда мои условия были просто установлены на какую-то версию if (initExists) {// делать то, что нужно}. Но это не сработало до тех пор, пока таблица не была уже заполнена, и кажется грязным пытаться что-то прочитать из разметки, когда мне нужно иметь необработанные данные для работы.
Soo ....
Мне просто не хватает некоторого способа ожидания возврата данных, а затем проверки, чтобы определить, относятся ли какие-либо записи к типу "I".
Любая помощь оценена, уточню, как смогу. Приветствия