Простой вопрос, касающийся выполнения действий по нажатию флажка в jquery - PullRequest
1 голос
/ 21 июля 2010

Я, должно быть, уже посмотрел 10-15 учебников по этому вопросу, но просто не могу заставить это работать, поэтому в моем .js у меня есть:

    jQuery('#sports : checkbox').click(function() {

alert('it works');

}); 

и в моем документе .html у меня есть:

<input type="checkbox" name="sports"  />

Это просто не будет работать, независимо от того, что я пытаюсь, и я попробовал все варианты, которые я могу придумать, флажок ввода не в DIV или что-то еще (но мне также любопытно, как ссылаться на него, если это находится в div .. просто для контроля в этом тесте, я попробовал это, и он отлично работает (где "testdiv" - это имя DIV в моем документе:

   jQuery('#testdiv').click(function() {

alert('it works');

}); 

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Без пробелов:

jQuery('#sports:checkbox')

, и вы должны присвоить элементу ввода правильный идентификатор (# выбирает элементы с соответствующим идентификатором):

<input type="checkbox" name="sports"  id="sports" />

Или вы ищетедля атрибута name:

jQuery('input:checkbox[name=sports]')
1 голос
/ 21 июля 2010

Ваш селектор немного выключен, вам нужно это вместо (для текущей разметки):

jQuery(':checkbox[name=sports]').click(function() {
  alert('it works');
});

Когда вы делаете селектор #sports : checkbox, он ищет ... ну, я не уверенчто, но #sports :checkbox ищет <input type="checkbox" /> внутри элемента с id="sports".[name=sports] использует селектор-атрибут .Вы можете найти полный список селекторов здесь .

0 голосов
/ 21 июля 2010

Вы пытались добавить идентификатор в свой HTML? Знак # в jQuery указывает на то, что вы выбираете идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...