Как отмечать определенные 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"> |
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>
|
Цитата:
Зачем мне это добавлять в закладки? Что я должен увидеть открыв эту ссылку в новой вкладке? Зачем вы добавляете функциональность, которую потом пытаетесь устранить? То, что вы пытаетесь решить уже давно решено! Используйте элемент <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> |
Цитата:
Цитата:
label - это первое что я попробовал) К сожалению, если можно было, так бы и сделал. У меня карта SVG, надо кликабельными континенты сделать, label там не захотел работать, только ссылки. |
Цитата:
Но все равно спасибо! Вот код, который сработал:
$(document).ready(function() {
$("a").on("click", function() {
var el = $("#" + $(this).data("id"));
el.prop("checked", !el.prop("checked"));
});
});
|
| Часовой пояс GMT +3, время: 08:49. |