0

jQuery では、選択ボックスで現在選択されている項目の 'val' 属性の値を取得し、その値を使用してデータを取得し、ツールチップを使用してそのデータを表示しようとしています。

テスト目的で、次を実行すると、値が正常に取得され、期待どおりに動作します。

$( 'select' )
.mouseover( function(){
    alert( $(this).val().trim() );
})

さらに、ハードコードされたパラメーター値を使用すると、以下も正常に機能します。

$( 'select' ).tooltip({
       content: cellTooltipContent( '865' )
});

しかし、次のようなことを試してみると、Chrome 開発者ツールは cellTooltipContent 関数へのパラメーターが未定義であると言います。

$( 'select' ).tooltip({
       content: cellTooltipContent( $(this).val() )
});

これも機能しません:

$( 'select' ).tooltip({
       content: cellTooltipContent( $(this).find(':selected').text() )
});

これは、現在選択されているアイテムではなく、ドキュメントを参照していると思われます。また、パラメーターにthis.valを試してみましたが、他にも数十あります。私はこれに3日間取り組んできましたが、完全に立ち往生しています。

4

1 に答える 1

0

呼び出しを無名関数でラップします。

$('select').tooltip({
    content: function() { return cellTooltipContent( $(this).val() )}
});

JSFiddle の

于 2013-08-22T19:22:16.160 に答える