Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2021, 10:29
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 95

Изменять 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, но не получилось ничего.
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2021, 13:47
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2021, 20:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

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>
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2021, 22:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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>
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2021, 23:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от рони
a.indexOf(target)
Я как раз не хотел такое использовать.
Решил один раз определить в цикле.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS и неработающие ссылки Sovka22 Javascript под браузер 1 13.01.2018 15:37
Добавить скриптом классы на option Quark_ Общие вопросы Javascript 7 11.07.2016 12:13
Внутри разворачивающегося по клику DIVа не работают ссылки JavaScriptNoob Элементы интерфейса 2 17.11.2015 00:01
Новый input при выборе определенного option SLameN Элементы интерфейса 4 03.07.2015 16:29
Как заставить меняться стиль option одного селекта в зависимости от выбора option.. print_r Общие вопросы Javascript 1 08.01.2013 23:11