Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2014, 17:42
Интересующийся
Отправить личное сообщение для Scrum Посмотреть профиль Найти все сообщения от Scrum
 
Регистрация: 27.04.2011
Сообщений: 13

Чекбокс мне в якорь.
Доброго дня имеем простейшую конструкцию:

<a href="#">
	<input type="checkbox" name=""> test
</a>


$("a").on("click", function(event){

	$(this).children("input").attr("checked", true)
	return false

})


Очень бы хотелось поменять значение у чекбокса кликая на чекбокс.
К сожалению структуру HTML поменять нет возможности.
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2014, 18:32
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Scrum
4
    return false
убрать
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2014, 18:35
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Scrum
Очень бы хотелось поменять значение у чекбокса кликая на чекбокс
$(this).children("input").prop("checked", true);
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2014, 18:39
Интересующийся
Отправить личное сообщение для Scrum Посмотреть профиль Найти все сообщения от Scrum
 
Регистрация: 27.04.2011
Сообщений: 13

Сообщение от dmitriymar Посмотреть сообщение
убрать
Будет скачек.
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2014, 18:40
Интересующийся
Отправить личное сообщение для Scrum Посмотреть профиль Найти все сообщения от Scrum
 
Регистрация: 27.04.2011
Сообщений: 13

Сообщение от nerv_ Посмотреть сообщение
$(this).children("input").prop("checked", true);
Не прокатило ) нужно кликать именно на чекбоксе.
Ответить с цитированием
  #6 (permalink)  
Старый 10.04.2014, 20:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Scrum
Очень бы хотелось поменять значение у чекбокса кликая на чекбокс.
Сообщение от Scrum
Будет скачек.
а вы точно уверены, что сами понимаете чего хотите? такого термина как скачёк нет

1 как бы чек бокс сам при клике будет менять своё значение - это поведение предопределённое
2 return false - вы убиваете поведение предопределённое

Последний раз редактировалось dmitriymar, 10.04.2014 в 20:04.
Ответить с цитированием
  #7 (permalink)  
Старый 10.04.2014, 20:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Scrum,
во блин ))) хоть по ссылке хоть по чекбоксу
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
   $(function ()
{
   $("a").on("click", function(event){
   if(this != event.target) return;
   event.preventDefault();
   var input = $(this).children("input");
   input.prop("checked", !input[0].checked);
})

})
  </script>
</head>

<body>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<a href="#">
    <input type="checkbox" name=""> test
</a>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 11.04.2014, 10:55
Интересующийся
Отправить личное сообщение для Scrum Посмотреть профиль Найти все сообщения от Scrum
 
Регистрация: 27.04.2011
Сообщений: 13

Сообщение от dmitriymar Посмотреть сообщение
а вы точно уверены, что сами понимаете чего хотите? такого термина как скачёк нет

1 как бы чек бокс сам при клике будет менять своё значение - это поведение предопределённое
2 return false - вы убиваете поведение предопределённое
Употребляя термин "скачок" - я подразумеваю предопределенные действия для элемента A. в данном случае попытку перейти на закладка внутри страницы, но т.к. в случае имени закладки я использую заглушку в виде # то по моим соображениям браузер пытается найти закладку и не найдя ее сдвигает/скроллит/перемещает страницу к началу в следствие чего я отменяю его предопределенное действие (return false).

Совершенно ясно понимаю поставленную перед собой задачу.
Я хочу что бы при клике именно на чекбокс у меня не было предопределенного действия для элемента А и осуществилось предопределенное действие для чекбокса, но по странным (хотя вроде бы и понятным и логичным) обстоятельствам в event.target попадает элемент input для которого так же отрабатывает отмена предопределенного действия.

рони
Увы происходит "Скачёк". в firefox, opera, в chrome b ie10 - отрабатывает корректно.
Из приятного понравилась конструкция с проверкой )
Ответить с цитированием
  #9 (permalink)  
Старый 11.04.2014, 12:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Scrum,
как отменить всплытие для в firefox пока загадка )))
Ответить с цитированием
  #10 (permalink)  
Старый 12.04.2014, 20:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,133

Scrum,
Вариант ... для firefox и прочих ...
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script>
$(function () {
     $("a").on("click", function (event) {
         var input = $("input:checkbox", this),
             checked = !input.prop("checked");
         $(event.target).is(":checkbox") && (checked = !checked);
         window.setTimeout(function () {
             input.prop("checked", checked)
         }, 0);
         return false
     })
 });
  </script>
</head>

<body>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>

<a href="#">
    <input type="checkbox" name=""> test
</a>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фантазия и реальность. Вектр текст на изображении от юзера мне на email okyrok Общие вопросы Javascript 0 30.03.2014 00:56
не могу установить чекбокс. простой вопрос sany531 jQuery 6 21.02.2014 20:21
Чекбокс если "чекед" должна сработать функция Lavrov jQuery 4 26.06.2013 16:04
Свой чекбокс на скрипте Олег123 Элементы интерфейса 5 06.11.2012 17:19
мне нужна регестрация сайта glushak Сайт Javascript.ru 1 05.07.2009 20:39