Проблемы с несколькими фильтрами в livequery - PullRequest
0 голосов
/ 23 июля 2011

У меня есть селектор, к которому я применяю плагин selectmenu. Работает нормально, однако я хочу использовать livequery для работы со скрытыми элементами (если элемент скрыт, когда применяется selectmenu, он вырезает его).

Это работает:

$('select:visible').filter('[multiple!=multiple]').selectmenu();

Однако я не могу использовать тот же синтаксис для прямого запроса:

$('select:visible').filter('[multiple!=multiple]').livequery(function() {
    $(this).selectmenu();
});

Это фактически не отфильтровывает элементы с множественным выбором. Я должен был сделать это:

$('select:visible').livequery(function() {
    if($(this).attr('multiple') != 'multiple')
        $(this).selectmenu();
});

У кого-нибудь есть идеи, почему? Я пробовал варианты, такие как:

$('select:visible:not([multiple=multiple])')...

и т. Д. С той же проблемой.

Ответы [ 2 ]

0 голосов
/ 23 июля 2011

Вам нужно использовать [multiple=true] вместо [multiple=multiple] и [multiple=false] вместо [multiple!=multiple].

0 голосов
/ 23 июля 2011

Попробуйте следующий код

$('select:visible:not([multiple])');
...