tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
767
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    maede maede ist offline Grünschnabel
    Registriert seit
    Apr 2011
    Beiträge
    3
    Hallo zusammen

    Ich möchte das Autocomplete-Beispiel von JQuery (siehe Code weiter unten) in eine Web-App, die noch in Classic ASP geschrieben ist, übernehmen.

    Mit den statischen Daten funktioniert das bestens. Wie schaffe ich es nun, dass ich Daten aus einer Tabelle auf dem MS-SQL Server 2008 in das Autocomplete bringe?

    Danke für Eure Hilfe
    Maede


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    
    <script>
        $(function() {
            var availableTags = [
                "ActionScript",
                "AppleScript",
                "Asp",
                "BASIC",
                "C",
                "C++",
                "Clojure",
                "COBOL",
                "ColdFusion",
                "Erlang",
                "Fortran",
                "Groovy",
                "Haskell",
                "Java",
                "JavaScript",
                "Lisp",
                "Perl",
                "PHP",
                "Python",
                "Ruby",
                "Scala",
                "Scheme"
            ];
            $( "#tags" ).autocomplete({
                source: availableTags
            });
        });
        </script>
     
     
        
    <div class="demo">
     
    <div class="ui-widget">
        <label for="tags">Tags: </label>
        <input id="tags">
    </div>
     
    </div><!-- End demo -->
     
     
     
    <div style="display: none;" class="demo-description">
    <p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are tags for programming languages, give "ja" (for Java or JavaScript) a try.</p>
    <p>The datasource is a simple JavaScript array, provided to the widget using the source-option.</p>
    </div><!-- End demo-description -->
     

  2. #2
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    wie der Dokumentation für remote-Daten zu entnehmen ist
    The datasource is a server-side script which returns JSON data, specified via a simple URL for the source-option.
    muss auf der Serverseite ein JSON-String aus den Daten erstellt und zurückgegeben werden.

    Der String könnte in etwa wie nachstehen aussehen:
    Code :
    1
    
    '["ActionScript","AppleScript","Asp","BASIC","C","C++","Clojure","COBOL","ColdFusion","Erlang","Fortran","Groovy","Haskell","Java","JavaScript","Lisp","Perl","PHP","Python","Ruby","Scala","Scheme"] '
    Weitere Informationen zu JSON findest du unter json.org.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  3. #3
    maede maede ist offline Grünschnabel
    Registriert seit
    Apr 2011
    Beiträge
    3
    Hallo Quaese

    Danke für Deine Antwort und den Link. Ich habe mich jetzt eingelesen und schaffe es den entsprechenden JSON-Output zu generieren. Leider schaffe ich es immer noch nicht, diesen Stream nun an das JQuery-Beispiel - siehe oben - anzubinden ...

    Kannst Du mir da nochmals helfen. Danke.

    Gruss
     

  4. #4
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    du musst als Datenquelle das Daten-erzeugende ASP-Script angeben.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    <html>
    <head>
    <title>www.tutorials.de</title>
    <meta name="author" content="Quaese" />
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <script src="jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="jquery-ui-1.8.11.min.js" type="text/javascript"></script>
    <script type="text/javascript">
      <!--
        $(function() {
            $( "#tags" ).autocomplete({
                source: 'request.asp'
            });
        });
     //-->
    </script>
    </head>
    <body>
    <input type="text" id="tags">
    </body>
    </html>
    Im ASP-Script wird nach der Datenbankabfrage am Ende der JSON-String mit Response.write eingefügt.

    request.asp:
    Code :
    1
    2
    3
    4
    5
    6
    
    <%
    ' ToDo: Datenbank-Abfrage und Datenaufbereitung
     
    ' Beispiel, um sich vorstellen zu können, wie der String aufgebaut sein kann
    Response.write("[""ActionScript"",""AppleScript""]") 
    %>
    Ich hoffe, das hilft dir weiter.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  5. #5
    maede maede ist offline Grünschnabel
    Registriert seit
    Apr 2011
    Beiträge
    3
    Danke für Deine schnelle Antwort. Es funktioniert bestens.

    Leider werden jedoch immer alle Einträge gezeigt - nicht einschränkenden, wie es sein sollte.

    Ich erstelle die Daten wie folgt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    Dim cSQL, Var, cName, nCount
     
    cSQL ="Select * From Addresses Where Lastname is not Null And ZIPCode ='8001'"
    Set rsTmp =conn.Execute(cSQL)
     
    nCount =0
     
    Var ="["
     
    Do While Not rsTmp.Eof
        If nCount >0 Then
            Var =Var & ","
        End If
        cName =Trim(rsTmp("Firstname")) & " " & Trim(rsTmp("Lastname"))
        Var =Var & """" & cName & """" 
        rsTmp.MoveNext
        nCount =nCount +1
    Loop
     
    Var =Var & "]"
     
    Response.Write(Var)

    Das Ergebnis sieht dann etwa so aus:

    ["Dr. med. Hans Muster","Hubert Meier","Hans Müller"]

    Gewünscht wäre jetzt, dass wenn ich Hans eingebe die beiden Namen mit Hans zur Auswahl kämen ...
     

Ähnliche Themen

  1. [jQuery] Autocomplete Frage
    Von wavetraxx im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 28.03.11, 15:01
  2. Frage zu JQuery Autocomplete
    Von Tiger2009 im Forum Javascript & Ajax
    Antworten: 22
    Letzter Beitrag: 17.03.11, 13:13
  3. jQuery Autocomplete und JSON
    Von RedShot im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.01.11, 14:57
  4. [jQuery] Autocomplete
    Von ropueh im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 29.06.10, 01:13
  5. [jQuery] Probleme mit dem Autocomplete
    Von newwarrior im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 20.03.10, 19:40

Stichworte