Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2019, 23:39
Новичок на форуме
Отправить личное сообщение для oleglantukh Посмотреть профиль Найти все сообщения от oleglantukh
 
Регистрация: 10.01.2019
Сообщений: 7

Как отмечать определенные checkbox при клике по ссылке?
Доброе время суток,
Подскажите пожалуйста, как можно отмечать checkbox, с определенным значением id при клике по ссылке c таким же значением data атрибута?
Пример:
<a href="javascript:void(0);" data-id="continent-1">Африка</a>
<a href="javascript:void(0);" data-id="continent-2">Азия</a>
<a href="javascript:void(0);" data-id="continent-3">Европа</a>
...
<input type="checkbox" id="continent-1">
<input type="checkbox" id="continent-2">
<input type="checkbox" id="continent-3">
Ответить с цитированием
  #2 (permalink)  
Старый 30.01.2019, 00:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

oleglantukh,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
document.addEventListener('DOMContentLoaded', function() {
var a =document.querySelectorAll('[data-id]');
[].forEach.call(a, function(link) {
   var id = link.dataset.id,
   el = document.getElementById(id);
   link.addEventListener("click", function(event) {
      event.preventDefault();
      el.checked = !el.checked
})
});
});
  </script>
</head>

<body>
<a href="javascript:void(0);" data-id="continent-1">Африка</a>
<a href="javascript:void(0);" data-id="continent-2">Азия</a>
<a href="javascript:void(0);" data-id="continent-3">Европа</a>
...
<input type="checkbox" id="continent-1">
<input type="checkbox" id="continent-2">
<input type="checkbox" id="continent-3">

</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2019, 00:15
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от oleglantukh
javascript:void(0);
Зачем вам переходить по этому адресу?
Зачем мне это добавлять в закладки?
Что я должен увидеть открыв эту ссылку в новой вкладке?
Зачем вы добавляете функциональность, которую потом пытаетесь устранить?

То, что вы пытаетесь решить уже давно решено! Используйте элемент <LABEL>.

<!DOCTYPE html>
<html>
	<head>
		<title>Untitled</title>
		<meta charset="utf-8">
	</head>
	<body>
		<label for="continent-1">Африка</label>
		<label for="continent-2">Азия</label>
		<label for="continent-3">Европа</label>
		...
		<input type="checkbox" id="continent-1">
		<input type="checkbox" id="continent-2">
		<input type="checkbox" id="continent-3">
	</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2019, 01:14
Новичок на форуме
Отправить личное сообщение для oleglantukh Посмотреть профиль Найти все сообщения от oleglantukh
 
Регистрация: 10.01.2019
Сообщений: 7

Сообщение от Malleys Посмотреть сообщение
Зачем вам переходить по этому адресу?
Зачем мне это добавлять в закладки?
Что я должен увидеть открыв эту ссылку в новой вкладке?
Зачем вы добавляете функциональность, которую потом пытаетесь устранить?

То, что вы пытаетесь решить уже давно решено! Используйте элемент <LABEL>.

<!DOCTYPE html>
<html>
	<head>
		<title>Untitled</title>
		<meta charset="utf-8">
	</head>
	<body>
		<label for="continent-1">Африка</label>
		<label for="continent-2">Азия</label>
		<label for="continent-3">Европа</label>
		...
		<input type="checkbox" id="continent-1">
		<input type="checkbox" id="continent-2">
		<input type="checkbox" id="continent-3">
	</body>
</html>
Сообщение от Malleys
Зачем вам переходить по этому адресу?
Зачем мне это добавлять в закладки?
Что я должен увидеть открыв эту ссылку в новой вкладке?
Зачем вы добавляете функциональность, которую потом пытаетесь устранить?

То, что вы пытаетесь решить уже давно решено! Используйте элемент <LABEL>.
Я же не совсем уже)
label - это первое что я попробовал) К сожалению, если можно было, так бы и сделал. У меня карта SVG, надо кликабельными континенты сделать, label там не захотел работать, только ссылки.
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2019, 01:22
Новичок на форуме
Отправить личное сообщение для oleglantukh Посмотреть профиль Найти все сообщения от oleglantukh
 
Регистрация: 10.01.2019
Сообщений: 7

Сообщение от рони Посмотреть сообщение
,
<script>
document.addEventListener('DOMContentLoaded', function() {
var a =document.querySelectorAll('[data-id]');
[].forEach.call(a, function(link) {
   var id = link.dataset.id,
   el = document.getElementById(id);
   link.addEventListener("click", function(event) {
      event.preventDefault();
      el.checked = !el.checked
})
});
});
  </script>
Спасибо за помощь, что то у меня он не сработал, но нашел другое решение, помогло.
Но все равно спасибо!

Вот код, который сработал:
$(document).ready(function() {
		$("a").on("click", function() {
			var el = $("#" + $(this).data("id"));
			el.prop("checked", !el.prop("checked"));
		});
	});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Коллеги, прошу помощи в реализации плавной смены блоков, при клике по checkbox? lebigan Общие вопросы Javascript 4 16.06.2017 10:42
Отрабатывание при клике по ссылке с параметром diakon Элементы интерфейса 2 08.03.2016 01:04
Как сделать, чтоб глобус при клике вращался вокруг указателя мышки? missbells Events/DOM/Window 1 05.12.2015 00:48
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Можно ли как то выделить текст в блоке при клике по блоку? someLogin Элементы интерфейса 1 10.10.2011 05:10