#javascript
#javascript
Вопрос:
Я получаю эту ошибку в последней строке (Uncaught SyntaxError: неожиданный конец ввода). Я не знаю почему. Я уже давно пытаюсь это исправить, но пока безуспешно. Я буду очень признателен, если кто-нибудь сможет исправить это для меня. Заранее спасибо!
var data = {
"users": [{
"id": "staff1",
"firstName": "Ray",
"lastName": "Villalobos",
"dept": "IT",
"joined": {
"month": "January",
"day": 12,
"year": 2012
}
},
{
"id": "staff2",
"firstName": "John",
"lastName": "Jones",
"dept": "HR",
"joined": {
"month": "April",
"day": 28,
"year": 2010
}
}
]
}
var output = "<ul>";
$(document).ready(function() {
$("#search").on("click", function() {
var userDept = $("input:checked").val();
var output = "<ul>";
for (var i in data.users) {
if ((userDept == data.users[i].dept) || (userDept == "Any")) {
output = "<li>" data.users[i].firstName " " data.users[i].lastName "--" data.users[i].joined.month "<a href='" data.users[i].id ".html'> Visit Page </a></li>";
}
}
output = "</ul>";
document.getElementById("placeholder").innerHTML = output;
});
$(".save").on("click", function() {
try {
$(this).attr('disabled', true);
var staffIdToAdd = $(this).closest("p").attr("id");
var myFavouriteStaff = JSON.parse(localStorage.getItem("favStaff"));
if (myFavouriteStaff == null) {
myFavouriteStaff = [];
}
myFavouriteStaff.push(staffIdToAdd);
localStorage.setItem("favStaff", JSON.stringify(myFavouriteStaff));
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
console.log("Error: Local Storage limit exceeds.")
} else {
console.log("Error: Saving to local storage.");
}
}
});
$("#viewFavourites").on("click", function() {
console.log("Restoring array data from local storage.");
myFavouriteStaff = JSON.parse(localStorage.getItem("favStaff"));
var output = "<ul>";
if (myFavouriteStaff != null) {
for (var i = 0; i < data.users.length; i ) {
for (j = 0; j < myFavouriteStaff.length; j ) {
if (data.users[i].id == myFavouriteStaff[j]) {
output = "<li>" data.users[i].firstName " " data.users[i].lastName "--" data.users[i].joined.month " <a href='" data.users[i].id ".html'> Visit Page </a></li>";
}
}
}
}
output = "<ul>";
document.getElementById("placeholder").innerHTML = output;
});
Ответ №1:
У вас есть $(document).ready(function() {
то, что вы никогда не закрываете. Закройте его:
var data = {
users: [
{
id: "staff1",
firstName: "Ray",
lastName: "Villalobos",
dept: "IT",
joined: {
month: "January",
day: 12,
year: 2012,
},
},
{
id: "staff2",
firstName: "John",
lastName: "Jones",
dept: "HR",
joined: {
month: "April",
day: 28,
year: 2010,
},
},
],
};
var output = "<ul>";
$(document).ready(function () {
$("#search").on("click", function () {
var userDept = $("input:checked").val();
var output = "<ul>";
for (var i in data.users) {
if (userDept == data.users[i].dept || userDept == "Any") {
output =
"<li>"
data.users[i].firstName
" "
data.users[i].lastName
"--"
data.users[i].joined.month
"<a href='"
data.users[i].id
".html'> Visit Page </a></li>";
}
}
output = "</ul>";
document.getElementById("placeholder").innerHTML = output;
});
$(".save").on("click", function () {
try {
$(this).attr("disabled", true);
var staffIdToAdd = $(this).closest("p").attr("id");
var myFavouriteStaff = JSON.parse(localStorage.getItem("favStaff"));
if (myFavouriteStaff == null) {
myFavouriteStaff = [];
}
myFavouriteStaff.push(staffIdToAdd);
localStorage.setItem("favStaff", JSON.stringify(myFavouriteStaff));
} catch (e) {
if (e == QUOTA_EXCEEDED_ERR) {
console.log("Error: Local Storage limit exceeds.");
} else {
console.log("Error: Saving to local storage.");
}
}
});
$("#viewFavourites").on("click", function () {
console.log("Restoring array data from local storage.");
myFavouriteStaff = JSON.parse(localStorage.getItem("favStaff"));
var output = "<ul>";
if (myFavouriteStaff != null) {
for (var i = 0; i < data.users.length; i ) {
for (j = 0; j < myFavouriteStaff.length; j ) {
if (data.users[i].id == myFavouriteStaff[j]) {
output =
"<li>"
data.users[i].firstName
" "
data.users[i].lastName
"--"
data.users[i].joined.month
" <a href='"
data.users[i].id
".html'> Visit Page </a></li>";
}
}
}
}
output = "<ul>";
document.getElementById("placeholder").innerHTML = output;
});
});
Именно поэтому важно иметь правильный отступ, а также редактор, который выделяет совпадающие пары скобок.