Я делаю небольшое веб-приложение на Javascript. У меня все заработало, кроме одной, наверное, простой вещи. У меня есть 2 глобальные переменные, которые должны оставаться глобальными, потому что я должен использовать их позже в других функциях:
var staffmembername;
var data = {
"personaldata": [{
"name": staffmembername,
"location": "Iowa"
},
{
"name": "Cynthia",
"location": "California",
}
]
};
В массиве data используется переменная stafmembername. Переменная stafmembername изменяет свое значение на значение выбранного параметра. Как видите благодаря тесту с предупреждением. Однако переменная в массиве, кажется, остается неопределенной.
Остальной код:
document.getElementById("confirmchoice").onclick = function() {
var e = document.getElementById("staffmember");
pickedname = e.options[e.selectedIndex].text;
document.getElementById("nr1").value = pickedname;
staffmembername = document.getElementById("nr1").value;
alert(staffmembername);
document.getElementById("h3tl").innerHTML = "name:" + data.personaldata[0].name + "<br>"
+ "location: " + data.personaldata[0].location;
}
Если я помещаю переменные в функцию, она все работает, но тогда другие мои функции не будут работать. Итак, есть ли способ обновить переменную в массиве, сохранив обе переменные глобальными?
JSFIDDLE