Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]Autocomplete - lista po kliknięciu
roghatt
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


Witam
W jaki sposób zrobić aby po kliknięciu w pole INPUT
  1. <input id="example" NAME="obszar" size="35" />

wyświetliła się lista podpowiedzi? (obecnie lista podpowiedzi pojawia się dopiero po wpisaniu pierwszej literki)

Kod
<script>
$(document).ready(function(){
   var data ="<? echo $tablica2;?>".split(",");
$("#example").autocomplete(data);
});
</script>

$tablica2 to słowa do podpowiedzi wypisane jedno za drugim po przecinku (pobrane wcześniej z bazy)

Co tutaj mogę jeszcze podać aby było pomocne? Całe pliki js chyba nie wkleję bo to ogólnodostępny skrypt
autocomplete.css
jqueryautocomplete.js
jquery-latest.js

Czy w ogóle jest możliwe aby po kliknięciu w pole INPUT pojawiły się już podpowiedzi?
Go to the top of the page
+Quote Post
djgarsi
post
Post #2





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


Możesz wyświetlać np ostatnio szukane, lub najczęściej szukane. Bo jeśli nic nie wpiszesz to niestety autocomplete nie ma żadnego punktu zaczepienia.
Go to the top of the page
+Quote Post
roghatt
post
Post #3





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


czyli można zrobić, że po kliknięciu w pole wyświetli się lista np. z ostatnio szukanymi? Czy w jaki sposób ma to wyświetlić jak autocomplete potrzebuje jakąś akcję czyli wpisanie znaku?
Go to the top of the page
+Quote Post
djgarsi
post
Post #4





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


Hm. Może focus załatwi sprawę?
Go to the top of the page
+Quote Post
roghatt
post
Post #5





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


znalazłem inny przykład:
http://jsfiddle.net/HXrLL/

Ale mimo że to umieściłem u siebie to nie działa:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <TITLE>test</TITLE>
  5.  
  6. <script type="text/javascript">
  7. <!--
  8. YUI({
  9. 'yui2': '2.9.0',
  10. '2in3': '4',
  11. }).use('yui2-datasource', 'yui2-autocomplete', function(Y) {
  12. var timeDS = [
  13. "2:00 AM",
  14. "2:15 AM",
  15. "2:30 AM",
  16. "2:45 AM",
  17. "2:00 PM",
  18. "2:15 PM",
  19. "2:30 PM",
  20. "2:45 PM"
  21. ],
  22. oDS, oAC;
  23.  
  24. YAHOO = Y.YUI2;
  25.  
  26. oDS = new YAHOO.util.LocalDataSource(timeDS);
  27. oDS.responseSchema = {
  28. fields: ["time"]
  29. };
  30.  
  31. oAC = new YAHOO.widget.AutoComplete("myInput", "myContainer", oDS);
  32. oAC.prehighlightClassName = "yui-ac-prehighlight";
  33. oAC.useShadow = true;
  34. oAC.minQueryLength = 0;
  35.  
  36. oAC.itemSelectEvent.subscribe(function(sType, aArgs) {
  37. var oData = aArgs[2];
  38. //alert(oData[1].time);
  39. });
  40.  
  41. document.getElementById("myInput").onfocus = function() {
  42. oAC.sendQuery("");
  43. }
  44.  
  45. });
  46. //-->
  47. </head>
  48. <label for="myInput">Enter a time:</label>
  49. <div id="myAutoComplete" class="yui-skin-sam">
  50. <input id="myInput" type="text">
  51. <div id="myContainer"></div>
  52. </div>
  53.  
  54. <div id="myTime"></div>
  55. </body>
  56.  
  57.  
  58. </html>


Czego może tutaj brakować?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dołączanych bibliotek.
Go to the top of the page
+Quote Post
roghatt
post
Post #7





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

Ostrzeżenie: (0%)
-----


Jeszcze raz:
Kod
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <TITLE>test</TITLE>
  5. <script src="http://yui.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
  6.  
  7. <script type="text/javascript">
  8. <!--
  9. YUI({
  10. 'yui2': '2.9.0',
  11. '2in3': '4',
  12. }).use('yui2-datasource', 'yui2-autocomplete', function (Y) {
  13. var timeDS = [
  14.  
  15. "2:00 AM",
  16. "2:15 AM",
  17. "2:30 AM",
  18. "2:45 AM",
  19. "2:00 PM",
  20. "2:15 PM",
  21. "2:30 PM",
  22. "2:45 PM",
  23. ],
  24. oDS,
  25. oAC;
  26.  
  27. YAHOO = Y.YUI2;
  28.  
  29. oDS = new YAHOO.util.LocalDataSource(timeDS);
  30. oDS.responseSchema = {
  31. fields: ["time"]
  32. };
  33.  
  34. oAC = new YAHOO.widget.AutoComplete("myInput", "myContainer", oDS);
  35. oAC.minQueryLength = 0;
  36. oAC.forceSelection = true;
  37.  
  38. oAC.itemSelectEvent.subscribe(function (sType, aArgs) {
  39. var oData = aArgs[2];
  40. console.log(oData[1].time);
  41. });
  42.  
  43. YAHOO.util.Event.addListener("myInput", "click", function (e) {
  44. YAHOO.util.Dom.get("myInput").value = "";
  45. oAC.sendQuery("");
  46. });
  47. });
  48.  
  49. //-->
  50. </head>
  51. <label for="myInput">Enter a time:</label>
  52. <div id="myAutoComplete" class="yui-skin-sam">
  53. <input id="myInput" type="text">
  54. <div id="myContainer"></div>
  55. </div>
  56. </body>
  57.  
  58.  
  59. </html>


Mój kod nie działa pod IE, tylko pod FF
A ten przykład podawany wcześniej
http://jsfiddle.net/HXrLL/
działa pod IE. Czegoś dalej u mnie brakuje?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 01:32