Как правильно включить/отключить родительский раздел на основе выбора дочернего элемента?Jquery

Программирование на jquery
Ответить
Anonymous
 Как правильно включить/отключить родительский раздел на основе выбора дочернего элемента?

Сообщение Anonymous »

У меня есть сценарий, в котором я динамически создаю дочерние кнопки для родительского раздела, и мне нужно управлять состоянием родительского раздела в зависимости от того, выбраны или не выбраны дочерние разделы. Родительский элемент следует включать только в том случае, если все дочерние кнопки не выбраны. Однако мой текущий подход не работает должным образом: когда я отменяю выбор одного дочернего элемента, родительский элемент остается отключенным, хотя другие дочерние элементы все еще не выбраны.
ниже приведен код:

Код: Выделить всё

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);
Проблема:
  • Должен быть включен только родительский раздел когда все дочерние разделы
    не выбраны.
  • Родительский элемент ведет себя не так, как ожидалось. После выбора нескольких
    дочерних разделов и отмены выбора одного родительский элемент остается отключенным, хотя
    не следует выбирать все дочерние разделы.
Что Я пробовал:
  • Я проверял массив идентификаторов, когда дочерний элемент выбран или не выбран,
    но родительский элемент все еще не включен, когда все дочерние элементы не выбраны.
Как я могу изменить мой код так, чтобы родительский раздел включался только тогда, когда все дочерние разделы не выбраны, и оставался отключенным, когда выбран любой дочерний раздел?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -selection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»