javascript
  • jquery
  • closures
  • 2012-01-09 21 views 0 likes 
    0

    我正在使用如下的JQuery自動完成AJAX插件;當使用它時評估對象屬性

    $(document).ready(function() { 
        $("#myfield").autocomplete({ 
         serviceUrl:'autocomplete.asp?soc=' + $("#soc").val() 
        }); 
    }); 
    

    它不工作,因爲(我認爲)的的serviceUrl屬性在頁面加載評估一次,而我希望它改變以反映$ a的當前值(「#SOC」)。

    我可以通過某種封閉來實現這個目標嗎?還是我必須手動更改$("#soc").change()上的屬性?

    +0

    這是您使用的確切代碼嗎?因爲.val不會給出任何結果 - 您需要使用.val()來給出結果。 – 2012-01-09 05:37:16

    +0

    我正在使用'.val()',忘記複製到問題抱歉。 – Flash 2012-01-09 05:38:37

    +0

    您使用的是什麼自動完成庫?我沒有在jQueryUI庫中看到serviceURL。 – 2012-01-09 05:44:43

    回答

    0

    從文檔看來,一旦你創建自動完成對象,選項被綁定。因此,如果#soc正在改變,那麼您將需要每次更新serviceUrl。

    //create variable to store your autocomplete 
    var ac = $('#query').autocomplete(options); 
    //update it when #soc changes 
    $('#soc').change(function() { 
        ac.setOptions({ serviceUrl: 'autocomplete.asp?soc=' + $("#soc").val() }); 
    }); 
    
    相關問題