Я пытаюсь нажать data
значение атрибута в параметр массива, но он выдает указанную выше ошибку в строке параметр [parent] .push (parent);Невозможно прочитать свойство 'push' of undefined
var parameter = {};
var currentTabSelected = "";
var parent = "";
$("#categories").on("click", ":checkbox", function() {
if($(this).is(":checked")) {
parent = $(this).data("parent");
console.log(parent)
if (!(currentTabSelected in parameter)) {
parameter[currentTabSelected] = []
}
var found = $.inArray($(this).val(), parameter[currentTabSelected]) > -1;
if (!found) {
parameter[currentTabSelected].push($(this).val());
parameter[parent].push(parent);
console.log(parameter)
}
} else {
var index = parameter[currentTabSelected].indexOf($(this).val());
var parent_index = parameter[parent].indexOf(parent)
if (index > -1) {
parameter[currentTabSelected].splice(index, 1);
parameter[parent].splice(parent_index , 1);
}
}
})
Что я могу сделать для преодоления вышеуказанной проблемы?
Где находится 'parameter' array? –
где задан параметр? – Thorin
Замечание: для внутреннего '()' здесь нет необходимости: 'if (! (Found)) {' Just 'if (! Found)' семантически идентичен и более типичен. –