0

プラグイン 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])')...

など、同じ問題があります。

4

2 に答える 2

0

[multiple=true]の代わりに[multiple=multiple]との[multiple=false]代わりに使用する必要があります[multiple!=multiple]

于 2011-07-22T23:55:00.677 に答える
0

以下のコードを試してください

$('select:visible:not([multiple])');
于 2011-07-22T23:49:55.290 に答える