Sempervivum
Erfahrenes Mitglied
... und die Version mit ausführlichen Texten in jeweils einem getrennten Element:
Code:
<!-- Das HTML für die Popovers, für jede Option ein Element -->
<div id="popover-1" popover>
<h4>Die Überschrift im Popover 1</h4>
<p>Der Text im Popover 1</p>
</div>
<div id="popover-2" popover>
<h4>Die Überschrift im Popover 2</h4>
<p>Der Text im Popover 2</p>
</div>
<select class="image-dropdown" id="image-dropdown3">
<!-- Optionen mit Popover -->
<option value="https://3d.peterplus.eu/MF23/download/Gleise/STL/Gleis-Kreuzung-flach.stl"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Gleis-Kreuzung-flach.png"
data-popover-id="popover-1">
Gleis-Kreuzung-flach
</option>
<option value="https://3d.peterplus.eu/MF23/download/Gleise/STL/Weiche-Zufahrt-von-links.stl"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Weiche-Zufahrt-von-links.png"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Gleis-Kreuzung-flach.png"
data-popover-id="popover-2">
Weiche-Zufahrt-von-links </option>
<option value="https://3d.peterplus.eu/MF23/download/Gleise/STL/Weiche-Zufahrt-von-rechts.stl"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Weiche-Zufahrt-von-rechts.png">
Weiche-Zufahrt-von-rechts
</option>
<!-- Optionen ohne Popover -->
<option value="https://3d.peterplus.eu/MF23/download/Gleise/STL/Weiche-Wechsel-Zufahrt-doppelt.stl"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Weiche-Wechsel-Zufahrt-doppelt.png">
Weiche-Wechsel-Zufahrt-doppelt
</option>
<option value="https://3d.peterplus.eu/MF23/download/Gleise/STL/Weiche-Wechsel-Zufahrt-doppelt-Zusatz-2x.stl"
data-img-url="https://3d.peterplus.eu/MF23/download/Gleise/Weiche-Wechsel-Zufahrt-doppelt.png">
Weiche-Wechsel-Zufahrt-doppelt-Zusatz-2x
</option>
</select>
Code:
function makeOption(data, container) {
if (!data.id) return data.text;
const
popoverId = data.element.dataset.popoverId;
let popoverHtml = '';
if (popoverId) {
popoverHtml = `<button type="button" popovertarget="${popoverId}"></button>`;
}
const $state = $(`
<span class="select2-option">
<img src="${data.element.dataset.imgUrl}">
<span class="dl-icon" data-link=${data.element.value}>⭳</span>
<span class="option-text">${data.text}</span>
${popoverHtml}
</span>`);
return $state;
};