JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/choices.js/3.0.4/choices.js" integrity="sha256-dvGgc5pCu9HxC5R5pdTBm3FLizdgDUOA5iu7TOlVtEc=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/choices.js/3.0.4/styles/css/choices.css" integrity="sha256-JDRgPmLPsdG/wIG2fjAJxA/KhUJU4+7HblQl5UfgR0c=" crossorigin="anonymous" />
<div>
<select>
<option>1</option>
<option selected>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
</div>
JavaScript
let holidaySelectDay
function uselessFunction() {
return new Promise(resolve => {
copyDiv()
resolve(0);
});
}
async function f1() {
var x = await uselessFunction();
let di = document.querySelector("body")
holidaySelectDay = holidaySelectDay.outerHTML
di.insertAdjacentHTML('afterbegin', holidaySelectDay)
choicesInit('div select:first-child', {searchEnabled: false, shouldSort: false, itemSelectText: ''});
}
f1();
/* -------------------- */
function copyDiv() {
holidaySelectDay = document.querySelector("select");
console.log(holidaySelectDay);
}
function choicesInit(select, param) {
const elements = Array.from(document.querySelectorAll(`${select}`))
// Если есть атрибут 'data-choice' - значит селект обрабатывался библиотекой - отбасываем его
const item = elements.filter(function (elements) {
if (!elements.getAttribute('data-choice')) { return elements }
});
const instances = item.map((element) => {
return new Choices(element, param)
});
}