Мне нужно получить идентификатор выбранной опции.
Этот способ всегда возвращает первый идентификатор, он возвращает «1»:
function myFunction() {
var skills = document.getElementById('toto');
var skillId = skills.getAttribute('data-id');
console.log(skillId);
}
<label>
Skills :
<input id="inputTest" name='skill' list='skills'>
<datalist id='skills'>
<select>
<option id="toto" data-id="1">HTML</option>
<option id="toto" data-id="2">Jquery</option>
<option id="toto" data-id="3">CSS</option>
</select>
</datalist>
</label>
<button type="button" id="button1" onclick="myFunction()"> Clickhere </button>
Этот способ не работает, он возвращает "null":
<label>
Skills :
<input id="inputTest" name='skill' list='skills'>
<datalist id='skills'>
<select>
<div id="toto">
<option data-id="1">HTML</option>
<option data-id="2">Jquery</option>
<option data-id="3">CSS</option>
</div>
</select>
</datalist>
</label>
<button type="button" id="button1" onclick="myFunction()"> Clickhere </button>
<script>
function myFunction(){
var skills = document.getElementById('toto');
var skillId = skills.getAttribute('data-id');
console.log(skillId);
}
</script>
Следующий способ тоже не работает:
...
<datalist id='skills'>
...
<script>
function myFunction(){
var skills = document.getElementById('skills');
var skillId = skills.getAttribute('data-id');
console.log(skillId);
}
</script>
И если я поставлю идентификатор на, он тоже не работает ..
метод getAttribute()
неизбежно относится к тому же <div></div>
, что и метод getElementById()
?
Я просто хочу понять правильное функционирование ..
Есть ли у него другой способ сделать это без datalist? Потому что «тег списка данных не поддерживается в Internet Explorer 9 и более ранних версиях или в Safari».
Большое спасибо:)