2012-05-10 45 views
11

我正在使用Jquery UI自動完成。但它顯示錯誤自動完成顯示self.element.propAttr錯誤。 這是我的Ajax代碼autocomplete顯示self.element.propAttr錯誤

$.ajax({ 
     url: "persons.xml", 
     dataType: "xml", 
     success: function(xmlResponse) { 
      var data = $("person", xmlResponse).map(function() { 
       return { 
        value: $("name", this).text() 

       }; 
      }).get(); 
      $("#birds").autocomplete({ 
       source: data, 
       minLength: 0 

      }); 


     } 

    }); 

我使用XML來響應但不列入似乎是它似乎在JavaScript的一些功能已經過時的問題。 任何人都可以給我任何解決方案嗎?

回答

24

添加此線在發言前:

jQuery.fn.extend({ 
propAttr: $.fn.prop || $.fn.attr 
}); 
+0

我已經解決了這個問題。謝謝你的答案。 Web控制檯指向'self.options.disabled || self.element.propAttr(「readOnly」)'作爲error.this在jquery.ui.autocomplete.js中的行。我完全刪除了該行,並瞧!它的工作。可能是,這不是很好的做法,但它的工作。我會嘗試你的建議,雖然.. –

+0

這是一個在jQuery中的錯誤? – Shawn

+1

@Narendra Chitrakar:你能解釋一下爲什麼/如何解決這個問題以及首先遇到什麼問題? – Shawn

1

重構我的javascript,當我面臨這個問題,發現問題我刪除jquery.ui.core.js,而是隻使用jQuery的UI的1.9.1.custom.min.js。

我使用Jquery UI網站上的下載生成器創建了此文件,並檢查了所有內容。糾正我如果我錯了,但jquery-ui-1.9.1.custom.min.js應該包含運行所有jquery ui插件所需的所有javascript(在這種情況下自動完成失敗)。

添加引用回到jquery.ui.core.js修復了錯誤。