У меня есть HTML datalist
, который выглядит следующим образом
<input type="text" list="cars" />
<datalist id="cars">
<option>Volvo</option>
<option>Saab</option>
<option>Mercedes</option>
<option>Audi</option>
</datalist>
Теперь у меня есть cars list
var carsList = ['Volvo', 'Saab', 'Mercedes', 'Audi']
Теперь я хочу создать input field
и datalist
и заполните его динамически, используя jquery
. Поэтому я хочу создать приведенный выше фрагмент html динамически, используя jquery
.
Так вот, что я делаю
var carInput = document.createElement("input");
carInput.type="text";
carInput.list="cars";
carInput.id = "carName"
var carDatalist = document.createElement("datalist");
carDatalist.id="cars";
$.each(carsList, function(i, item) {
$("#cars").append($("<option>").attr('value', i).text(item));
});
Но он создает только элемент input
, а не datalist
элемент с ним. Что я делаю не так?
РЕДАКТИРОВАТЬ: Я хочу создать независимый html, так как я хочу использовать его только во всплывающем окне sweetalert2
и принимать данные от пользователя.
Это то, что я показываю пользователю. Во всплывающем окне отображается только input
, но не dropdown
.
swal({
title: 'Select a car name or define one',
html: carInput,
showCancelButton: true,
width: '500px',
});
.