2013-08-21 100 views
0

在jQuery中,我試圖在選擇框中獲取當前選定項目的'val'屬性的值,使用該值檢索數據,然後使用工具提示顯示該數據。如何在jQuery UI工具提示中獲取當前選擇選項的值?

出於測試目的,當我運行下面的它得到的價值就好了按預期工作:

$('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作爲參數,還有幾十個其他的東西。我已經爲此工作了三天,而且我完全陷入了僵局。

回答

0

環繞你調用一個匿名函數:

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

一個JSFiddle例子。

+0

另外,請確保cellTooltipContent正在返回字符串... – Richard

+0

謝謝,謝謝,謝謝!我不會在一百年內猜出它需要一個額外的函數包裝器。我猜想,關鍵是內容必須是一個返回一個字符串而不是一個值的0-arity函數。非常感謝,理查德。 – citrus

+0

但這很奇怪。 http://api.jqueryui.com/tooltip/#option-content中的第一個示例使用值,而不是IIFE。有誰知道爲什麼這樣嗎?很奇怪。 – citrus

相關問題