Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery группировка селекторов (https://javascript.ru/forum/jquery/48653-jquery-gruppirovka-selektorov.html)

Casufi 11.07.2014 14:05

jQuery группировка селекторов
 
Нужно выбрать несколько input с определенными атрибутами role, можно ли явно группировать селекторы? А то я не пойму как будут выбирать следующие варианты.
$('input[role="count"],[role="sum"],[role="avg"]');
$('input[role="count"],input[role="sum"],input[role="avg"]');

Aetae 11.07.2014 14:14

Почитайте как работает CSS. По сути вам нечего делать на вашей работе если вы не знаете самой базы: html+css.

Casufi 11.07.2014 14:18

$('[role="count"],[role="sum"],[role="avg"]').filter('input');

Вычитал такую возможность, но проблема в том, что селектор я использую в .on
$('table').on('change','input[role="count"],input[role="sum"],input[role="avg"]',... )

Casufi 11.07.2014 14:19

Я не понял в каком месте тут css ?

Sweet 11.07.2014 14:48

Цитата:

Сообщение от Casufi
Я не понял в каком месте тут css ?

Так это потому, что
Цитата:

Сообщение от Aetae
вы не знаете самой базы

:haha:
Вообще, можно сделать, например, так:
var roles = ["count", "sum", "avg"];
var selector = roles.map(toSelector).join(", ");
alert(selector);


function toSelector(role) {
  return 'input[role="' + role + '"]';
}

Casufi 11.07.2014 15:09

Вам спасибо, большое спасибо. Как вариант еще подсказали использовать кастом атрибуты для разделения логики внутри ивента и добавить класс на все инпуты, по которому запускаю ивент.
А по поводу ответа Aetae, считаю что плохой учитель - гораздо больший мудак чем плохой ученик. Вы же не поленились дать ответ.

Aetae 11.07.2014 15:09

Jquery, внезапно, использует css-селекторы.
Цитата:

Сообщение от Casufi (Сообщение 320651)
А по поводу ответа Aetae, считаю что плохой учитель - гораздо больший мудак чем плохой ученик. Вы же не поленились дать ответ.

Плохой учитель отмазывается от ученика готовым ответом, а хороший учит думать, разве нет?


Часовой пояс GMT +3, время: 07:32.