2011-11-03 68 views
0

我將以下方法連接到我的document.ready函數。然而,「myAutoCompleteURL.aspx」URL永遠不會被訪問(我在頁面上有一個斷點,它從來沒有被擊中)。爲什麼這個JqueryUI自動完成不會打到它的URL?

有人知道爲什麼這不起作用嗎?我是新的UI版本的自動完成;我以前只使用基於jquery(已棄用)的版本。

function myAutoComplete(myTextBox, myLabel, myHidden) { 
    var myType = $(myLabel).html(); 

    $(myTextBox).autocomplete({ 
     source: function (request, response) { 
      $.ajax({ 
       type: 'POST', 
       dataType: 'json', 
       url: "../myAutoCompleteURL.aspx", 
       data: { q: request.term, type: myType }, 
       success: function (myData) { 
        response($.map(myData, function (myItem) { 
         return { label: myItem.name, value: myItem.name, id: myItem.id } 
        })); 
       } 
      }); 
     }, 
     select: function (event, ui) { 
      $(myTextBox).val(ui.myItem.name); 
      $(myHidden).val(ui.myItem.id); 
      return false; 
     } 
    }); 
} 
+0

你可以發佈一個鏈接到一個工作版本? –

+0

這個'$ .ajax()'調用是否在自動完成的上下文之外工作?試着把它放在一個頁面上並傳入固定值,看看是否有效。例如,我相信你可能需要使用'application/json'的數據類型,並使用引用的JSON字符串代替數據。 – GregL

+0

我可以看到我的應用程序加載這個URL:「/FileNotFound.htm?aspxerrorpath=/script/jquery/indicator.gif」。什麼是indicator.gif?一個jquery文件?看來我使用的是jqueryui的錯誤版本。 – WEFX

回答

0

使用Firebug並查找正在被命中的URL。如果在控制檯中什麼都沒有顯示,那麼javascript代碼根本不起作用。

+0

我的CSS代碼有問題。感謝您提供Firebug。 – WEFX

1

您可以刪除您的網址中的../。我以前有過同樣的問題。

其次在你的ajax調用中有一個錯誤函數。如果它遇到了錯誤函數,那麼在你的數據中有一些問題,你需要糾正它。

由於@GregL在他的評論中提到,您使用JSON,而不是應用程序/ JSON :)

相關問題