Ошибка SyntaxError: Identifier 'descrBlock' has already been declared
Всем доброго времени суток. Кто может подсказать почему происходит эта ошибка. Есть товар, у него есть 2 поля https://prnt.sc/zlsyln должно сохранять настройки и выводится на сайте как по умолчанию https://prnt.sc/zlt9fa и https://prnt.sc/zltatl , но пункты не сохраняются. В консоли эта ошибка. Вот кусок кода там где происходит ошибка
function showChildDescription(settings) {
let descrBlock = document.getElementsByClassName('mount_types_description').item(0),
descrText = descrBlock.children.item(0), descrBlock = getElementsByTagName('p').item(0),
selectedParentType = $('[name="wpwp_rimsky_mount_types[]"]').filter(':checked').val();
if (selectedParentType != 'no' && !(typeof selectedParentType === 'undefined')) {
let mountTypeData = settings.mount_types[selectedParentType],
selectedChildType = $('[name="wpwp_rimsky_mount_types[child][]"]').filter(':checked').val();
if (!(typeof selectedChildType === 'undefined') && mountTypeData.hasOwnProperty('extended')) {
let childMountType = mountTypeData.extended[selectedChildType];
for (var key in mountTypeData.extended) {
if (!mountTypeData.extended.hasOwnProperty(key)) continue;
var obj = mountTypeData.extended[key];
if (key == selectedChildType) {
descrText.innerHTML = obj.description;
}
}
} else {
descrText.innerHTML = mountTypeData.description;
}
}
}
Ответы (2 шт):
Автор решения: Aziz Umarov
→ Ссылка
Может разделите выражение на части
let descrBlock = document.getElementsByClassName('mount_types_description').item(0);
descrText = descrBlock.children.item(0);
descrBlock = getElementsByTagName('p').item(0);
selectedParentType = $('[name="wpwp_rimsky_mount_types[]"]').filter(':checked').val();
У вас левая часть выражения только объявляет, а в правой уже вовсю используется
let a = "проверка";
let b = a, b = "результат на лицо";
как надо
let a = "проверка";
let b = a;
b = "результат на лицо";
Автор решения: ksa
→ Ссылка
Вот это
let descrBlock = document.getElementsByClassName('mount_types_description').item(0),
descrText = descrBlock.children.item(0), descrBlock = getElementsByTagName('p').item(0),
selectedParentType = $('[name="wpwp_rimsky_mount_types[]"]').filter(':checked').val();
Заменить на это
let descrBlock = document.getElementsByClassName('mount_types_description').item(0);
let descrText = descrBlock.children.item(0);
descrBlock = getElementsByTagName('p').item(0);
let selectedParentType = $('[name="wpwp_rimsky_mount_types[]"]').filter(':checked').val();