Изменять option по кликам на ссылки
Подскажите плиз со скриптом, при помощи которого по клику на ссылку - менялся бы соответствующий option в селектбоксе.
<div> <a href="#">Поменять</a> <a href="#">Поменять</a> <a href="#">Поменять</a> </div> <div> <select type="select" name="data" id="" class=""> <option value="9 сентября">9 сентября</option> <option value="13 октября">13 октября</option> <option value="20 ноября">20 ноября</option> </select> </div> Пробовал с onclick, но не получилось ничего. |
<body> <div> <a href="#">Поменять</a> <a href="#">Поменять</a> <a href="#">Поменять</a> </div> <div> <select type="select" name="data" id="" class=""> <option value="9 сентября">9 сентября</option> <option value="13 октября">13 октября</option> <option value="20 ноября">20 ноября</option> </select> </div> </body> <script> const arrA=document.querySelectorAll('a') const arrOption=document.querySelectorAll('select > option') arrA.forEach(function(e,i) { e.addEventListener('click', function() { arrOption[i].setAttribute('value','изменено') arrOption[i].innerHTML='изменено' }) }) </script> |
od0201, может ему такой вариант нужен...
<div id='test'> <a href="#">Поменять</a> <a href="#">Поменять</a> <a href="#">Поменять</a> </div> <div> <select type="select" name="data" id="" class=""> <option value="9 сентября">9 сентября</option> <option value="13 октября">13 октября</option> <option value="20 ноября">20 ноября</option> </select> </div> <script> const o = document.querySelector('#test') o.addEventListener('click', e => { const el = e.target if (el.tagName !== 'A') return const o = document.querySelector('select[name="data"]') o.selectedIndex = el.dataset.itm }) const arr=o.querySelectorAll('a') arr.forEach((el, i) => el.dataset.itm = i) </script> |
ksa,
<div id='test'> <a href="#">Поменять</a> <a href="#">Поменять</a> <a href="#">Поменять</a> </div> <div> <select type="select" name="data" id="" class=""> <option value="9 сентября">9 сентября</option> <option value="13 октября">13 октября</option> <option value="20 ноября">20 ноября</option> </select> </div> <script> const d = document.querySelector('#test'); const s = document.querySelector('select[name="data"]'); const a = Array.from(d.children); d.addEventListener('click', ({target}) => { if (target = target.closest('a')) s.selectedIndex = a.indexOf(target); }) </script> |
Цитата:
Решил один раз определить в цикле. |
Часовой пояс GMT +3, время: 21:33. |