powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Checkbox в таблице реагирует на клик со второго раза.
13 сообщений из 13, страница 1 из 1
Checkbox в таблице реагирует на клик со второго раза.
    #38008482
son6ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь разукрасить стандартный чекбокс.
Код: html
1.
<div class='check'><input type='checkbox' name='type' /></div>



Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
.check {
	width: 34px;
	height: 17px;
	background: url(../image/check.png) no-repeat;
	padding-left: 25px;
	cursor: pointer;
	position: relative;
	float: left;
}
.check.active {
	background: url(../image/check.png) no-repeat 0 -17px;
}



Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
$('.check').click(function(){
  if( $(this).find('input').is(':checked') ) {
	$(this).removeClass('active');
	$(this).find('input').removeAttr('checked');
  } else {
	$(this).addClass('active');
	$(this).find('input').attr('checked', true);
  }
});	



Проблема возникла после того, как поместила див с чекбоксом в таблицу. Клик на чекбоксе срабатывает со второй попытки. Как быть?
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008502
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут имхо вместо дива явно напрашивается лейбл
ну а дальше http://jsfiddle.net/SnNtb/
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008516
son6ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель, спасибо. А почему не работает сейчас? Смутно что-то вспоминаю про всплытие событий в jQuery...
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008555
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<!DOCTYPE HTML>
<html>  
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <style>
      .checkbox {
        background-color: transparent;
        border: solid 1px #999;
        float: left;
        height: 13px;
        width: 13px;
      }
      .checkbox.checked {
        background-color: #000;
      }
      .checkbox input {
        cursor: pointer;
        filter: alpha(opacity=0);
        opacity: 0;
      }
    </style>
  </head>  
  <body>
    <table>
      <tr>
        <td>
          <div class="checkbox">
            <input type="checkbox" />
          </div>
          &nbsp;Click on the checkbox!
        </td>
      </tr>
    </table>
    <script>
      $('.checkbox').on('click', 'input', onCheckboxInputClick);

      function onCheckboxInputClick() {
        $(this).closest('.checkbox').toggleClass('checked', this.checked);
      }
    </script>
  </body>
</html>
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008590
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
son6kaПаганель, спасибо. А почему не работает сейчас? Смутно что-то вспоминаю про всплытие событий в jQuery...Для Вашего случая добавить
Код: javascript
1.
2.
3.
4.
$('.check input').click(function(e){
    $(this).closest('.check').toggleClass('active');
    e.stopPropagation();
});

но я - за label
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008601
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
son6ka,


1 - вообще-то не стоит управлять чекбоксом самостоятельно, отлавливая события дива, в котором он лежит, если вы все-же это делаете, надо отменять событие.
2 - клик на чекбоксе в разных браузерах происходит в разное время.
3 - у чекбокса захватывать надо на событие change, тогда точно известно какое значение он получил и в соответствии с этим изменять оформление.
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008610
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mage.lanу чекбокса захватывать надо на событие changeблин точно вылетело их головы
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008611
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Click просто на инпуте надо ловить, вот и всё. А stopPropagation() вызывать не надо.
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008617
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAClick просто на инпуте надо ловить, вот и всё. А stopPropagation() вызывать не надо.я так понял див у автора должен быть шире, и на клик за пределами инпута тоже должна быть реакция
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008619
son6ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно, если чекбокс(див с чекбоксом) в ячейке таблицы, то оформление меняется только на второй клик.
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008621
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
son6kaВсе равно, если чекбокс(див с чекбоксом) в ячейке таблицы, то оформление меняется только на второй клик.можете дать ссылку на тестовый пример на jsfiddle ?
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008675
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Я привёл пример с таблицей;
2. На что вообще влияет ширина div? :)
...
Рейтинг: 0 / 0
Checkbox в таблице реагирует на клик со второго раза.
    #38008682
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA2. На что вообще влияет ширина div? :)а давайте спросим у автора, правильна ли моя догадка, чтоПаганельна клик за пределами инпута тоже должна быть реакция
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Checkbox в таблице реагирует на клик со второго раза.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]