Исправлено отображение временного комплекта в форме заказа
Проблема:
- После создания временного комплекта он не отображался корректно в Select2
- Опция добавлялась в select после инициализации Select2
Решение:
- Добавлена задержка (setTimeout) для корректной инициализации формы
- Используется Select2 API (.append().trigger('change')) для добавления опции
- Это обеспечивает правильное отображение названия комплекта в выпадающем списке
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -690,6 +690,8 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
const addButton = document.getElementById('add-item-btn');
|
||||
addButton.click();
|
||||
|
||||
// Небольшая задержка, чтобы форма полностью добавилась
|
||||
setTimeout(function() {
|
||||
// Получаем последнюю добавленную форму
|
||||
const forms = container.querySelectorAll('.order-item-form');
|
||||
const lastForm = forms[forms.length - 1];
|
||||
@@ -699,12 +701,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
const quantityInput = lastForm.querySelector('[name$="-quantity"]');
|
||||
const priceInput = lastForm.querySelector('[name$="-price"]');
|
||||
|
||||
// Добавляем опцию в select
|
||||
const option = new Option(data.kit_name, `kit_${data.kit_id}`, true, true);
|
||||
kitSelect.appendChild(option);
|
||||
|
||||
// Триггерим изменение для Select2
|
||||
$(kitSelect).trigger('change');
|
||||
// Используем Select2 API для добавления опции
|
||||
const newOption = new Option(data.kit_name, `kit_${data.kit_id}`, true, true);
|
||||
$(kitSelect).append(newOption).trigger('change');
|
||||
|
||||
// Устанавливаем количество и цену
|
||||
if (quantityInput) quantityInput.value = '1';
|
||||
@@ -712,6 +711,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
priceInput.value = data.kit_price;
|
||||
priceInput.dataset.originalPrice = data.kit_price;
|
||||
}
|
||||
}, 100);
|
||||
|
||||
// Очищаем форму модального окна
|
||||
document.getElementById('temp-kit-name').value = '';
|
||||
|
||||
Reference in New Issue
Block a user