У меня есть сценарий, в котором я динамически создаю дочерние кнопки для родительского раздела, и мне нужно управлять состоянием родительского раздела в зависимости от того, выбраны или не выбраны дочерние разделы. Родительский элемент следует включать только в том случае, если все дочерние кнопки не выбраны. Однако мой текущий подход не работает должным образом: когда я отменяю выбор одного дочернего элемента, родительский элемент остается отключенным, хотя другие дочерние элементы все еще не выбраны.
ниже приведен код:
if (childItem) {
const childButton = $('', {
text: childItem.section_name,
'id': childItem.id,
'class': 'button-location-style child-section',
click: function() {
var index = ids.indexOf(childItem.id);
if (index > -1) {
// Unselect the child
ids.splice(index, 1);
$(this).removeClass("changedBackground");
// Enable the parent section when the child is unselected
$(`#${parentId}`).removeClass('disabled');
} else {
// Select the child
ids.push(childItem.id);
$(this).addClass("changedBackground");
// Disable the parent section when the child is selected
$(`#${parentId}`).addClass('disabled');
}
// Update the section ID input field with the selected IDs
$('#SectionId').attr('value', ids.join(','));
}
});
// Append the child button to the container
childContainer.append(childButton);
Проблема:
Должен быть включен только родительский раздел когда все дочерние разделы
не выбраны.
Родительский элемент ведет себя не так, как ожидалось. После выбора нескольких
дочерних разделов и отмены выбора одного родительский элемент остается отключенным, хотя
не следует выбирать все дочерние разделы.
Что Я пробовал:
Я проверял массив идентификаторов, когда дочерний элемент выбран или не выбран,
но родительский элемент все еще не включен, когда все дочерние элементы не выбраны.
Как я могу изменить мой код так, чтобы родительский раздел включался только тогда, когда все дочерние разделы не выбраны, и оставался отключенным, когда выбран любой дочерний раздел?
У меня есть сценарий, в котором я динамически создаю дочерние кнопки для родительского раздела, и мне нужно управлять состоянием родительского раздела в зависимости от того, выбраны или не выбраны дочерние разделы. Родительский элемент следует включать только в том случае, если все дочерние кнопки не выбраны. Однако мой текущий подход не работает должным образом: когда я отменяю выбор одного дочернего элемента, родительский элемент остается отключенным, хотя другие дочерние элементы все еще не выбраны. ниже приведен код:[code]if (childItem) { const childButton = $('', { text: childItem.section_name, 'id': childItem.id, 'class': 'button-location-style child-section', click: function() { var index = ids.indexOf(childItem.id);
if (index > -1) { // Unselect the child ids.splice(index, 1); $(this).removeClass("changedBackground");
// Enable the parent section when the child is unselected $(`#${parentId}`).removeClass('disabled');
} else { // Select the child ids.push(childItem.id); $(this).addClass("changedBackground");
// Disable the parent section when the child is selected $(`#${parentId}`).addClass('disabled'); }
// Update the section ID input field with the selected IDs $('#SectionId').attr('value', ids.join(',')); } });
// Append the child button to the container childContainer.append(childButton); [/code]
Проблема: [list] [*]Должен быть включен только родительский раздел когда все дочерние разделы не выбраны. [*]Родительский элемент ведет себя не так, как ожидалось. После выбора нескольких дочерних разделов и отмены выбора одного родительский элемент остается отключенным, хотя не следует выбирать все дочерние разделы. [/list] Что Я пробовал: [list] [*]Я проверял массив идентификаторов, когда дочерний элемент выбран или не выбран, но родительский элемент все еще не включен, когда все дочерние элементы не выбраны. [/list] Как я могу изменить мой код так, чтобы родительский раздел включался только тогда, когда все дочерние разделы не выбраны, и оставался отключенным, когда выбран любой дочерний раздел?