Я пытаюсь написать функцию Javascript, которая получает массив уникальных идентификаторов из базы данных sqlite, а затем передает их для использования в другой функции, где идентификаторы могут использоваться в другом запросе sql, они также образуют часть динамическисоздан список.
Мне удалось передать строку идентификаторов ['id'] в переменную массива window.symp [i].Но я не смог получить к ним правильный доступ во второй функции, приведенной ниже, вторая функция правильно использует идентификаторы для создания динамического HTML, но переменная, переданная в запрос sqlite, либо дает сбой, либо имеет одинаковое значение во всех созданных элементах списка.Любая помощь будет принята с благодарностью - я включил обе функции ниже:
function showContent() {
db.transaction(function (tx) {
tx.executeSql("SELECT id, notes FROM webkit WHERE notes LIKE 'A%'", [], function (tx, result) {
var notesanode = document.getElementById('notesa');
notesanode.innerHTML = "";
for (var i = 0; i < result.rows.length; ++i) {
var row = result.rows.item(i);
window.symp[i] = i;
window.symp[i] = row['id'];
var noteadiv = document.createElement('div');
noteadiv.innerHTML = '<li class=\"arrow\"><a id=\"0\" onClick=\"showSymptoms()\" href=\"#symptoms\">' + row['notes'] + " " + row['id'] + '</a></li>';
notesanode.appendChild(noteadiv);
}
}, function (tx, error) {
alert('Failed to retrieve notes from database - ' + error.message);
return;
});
});
}
function showSymptoms() {
db.transaction(function (tx) {
tx.executeSql("SELECT sid, symptom FROM slinks WHERE id LIKE ('" + symp + "')", [], function (tx, result) {
var symptomnode = document.getElementById('symptomid');
symptomnode.innerHTML = "";
for (var i = 0; i < result.rows.length; ++i) {
var row = result.rows.item(i);
var symptomdiv = document.createElement('div');
symptomdiv.innerHTML = '<p><label> <input type=checkbox>' + row['symptom'] + '</label></p>';
symptomnode.appendChild(symptomdiv);
}
}, function (tx, error) {
alert('Failed to retrieve notes from database - ' + error.message);
return;
});
});
}