2012-05-10 12 views
11

Używam autouzupełniania Jquery ui.Ale wyświetla błąd autouzupełniania pokazujący błąd self.element.propAttr. to jest mój kod ajaxautouzupełnianie z opcją self.element.propAttr error

$.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 

      }); 


     } 

    }); 

używam xml do odpowiedzi, ale że doesnot wydają się być problemem wydaje się pewne funkcje w JavaScript jest przestarzała. Czy ktoś może mi podać jakieś rozwiązania?

Odpowiedz

24

Dodaj ten linie przed swoim oświadczeniu:

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

Rozwiązałem ten problem. Dziękuję za odpowiedź. konsola internetowa była skierowana w stronę 'self.options.disabled || self.element.propAttr ("readOnly") 'as error.this line in jquery.ui.autocomplete.js .Ja usunąłem tę linię całkowicie i voila !! zadziałało. Może to nie jest dobra praktyka, ale zadziałało. I spróbuje twojej sugestii .. –

+0

Czy to błąd w jQuery? – Shawn

+1

@Narendra Chitrakar: Czy mógłbyś wyjaśnić, dlaczego/jak to rozwiązuje problem i na czym polegał problem? – Shawn

1

byłem w obliczu tego problemu, gdy refactoring moje JavaScript i okazało się, że problem został usunąłem jquery.ui.core.js, a zamiast tego używał tylko jquery-ui-1.9.1.custom.min.js.

Ten plik został utworzony przy użyciu Kreatora pobierania na stronie Jquery UI z zaznaczonym wszystkim. Popraw mnie, jeśli się mylę, ale jquery-ui-1.9.1.custom.min.js powinien zawierać cały javascript niezbędny do uruchomienia wszystkich dodatków jquery ui (w tym przypadku autouzupełnianie się nie powiodło).

Dodanie odnośnika z powrotem do jquery.ui.core.js poprawiło błąd.