несколько селекторов JQuery - PullRequest
2 голосов
/ 16 августа 2010

Это:

$('input.people').attr('checked', false).filter('[name=toddS]').attr('checked', true);

установит флажок с классом людей и именем toddS, снимая флажки со всех остальных полей.

Как добавить другое имя в фильтр? Я пробовал несколько разных комбинаций и ничего не работает. Вот что у меня есть:

$('input.people').attr('checked', false).filter('[name=toddS], [name=gwenD]').attr('checked', true);

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Вы можете передать функцию в .attr(), например:

$('input.people').attr('checked', function() {
  return this.name == 'toddS' || this.name == 'gwenD';
});

Если вам нужно добавить больше позже, вы можете использовать то, что работает для большего количества значений, например $.inArray(), например:

$('input.people').attr('checked', function() {
  return $.inArray(this.name, ['toddS', 'gwenD']) != -1;
});
0 голосов
/ 16 августа 2010

Вы можете использовать там функцию , чтобы выбрать только те, которые вам нужны.

$('input.people')
   .removeAttr('checked')
   .filter(function() {
       return ($(this).attr('name') === 'toddS' || $(this).attr('name') === 'gwenD');
    })
    .attr('checked', 'checked');

Я также использовал removeAttr() вместо того, чтобы установить false.Я не проверял, что делает jQuery, установив для него значение false, но с точки зрения HTML отсутствие проверки должно означать отсутствие этого атрибута.

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