プラグイン 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])')...
など、同じ問題があります。