Fix: Исправлено добавление существующих тегов
✅ Создаём бейджи напрямую без addTag() ✅ selectedTags.add() перед созданием бейджа Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
parent
b848b69294
commit
0c35e31d4c
|
|
@ -125,8 +125,12 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
// Добавление тега
|
// Добавление тега
|
||||||
function addTag(id, data) {
|
function addTag(id, data) {
|
||||||
console.log('[TagsInput] addTag called with id:', id, 'data:', data);
|
console.log('[TagsInput] addTag called with id:', id, 'data:', data);
|
||||||
if (!data || selectedTags.has(String(id))) {
|
if (!data) {
|
||||||
console.log('[TagsInput] Skipping tag (no data or already selected)');
|
console.log('[TagsInput] Skipping tag (no data)');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (selectedTags.has(String(id))) {
|
||||||
|
console.log('[TagsInput] Tag already selected, skipping');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -195,7 +199,16 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
console.log('[TagsInput] Adding existing option:', item);
|
console.log('[TagsInput] Adding existing option:', item);
|
||||||
select.addOption(item);
|
select.addOption(item);
|
||||||
addTag(item.id, item);
|
// Добавляем в selectedTags и создаём бейдж напрямую
|
||||||
|
selectedTags.add(String(item.id));
|
||||||
|
updateHiddenInput();
|
||||||
|
|
||||||
|
const tag = document.createElement('div');
|
||||||
|
tag.className = 'tag-badge';
|
||||||
|
tag.dataset.id = item.id;
|
||||||
|
tag.innerHTML = `<span>${escapeHtml(item.text)}</span><span class="remove-tag" onclick="removeTag(${item.id}, this)">×</span>`;
|
||||||
|
tagsContainer.appendChild(tag);
|
||||||
|
console.log('[TagsInput] Tag appended:', tag);
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue