2017-10-03 6 views
1

Ich habe ein Textfeld mit Autocomplete. Ich möchte ein div anzeigen, wenn der Wert in der Textbox ausgewählt ist. Ich habe versucht, die Funktion von jquery ui zu ändern, aber es funktioniert nicht richtig. Es funktioniert nur, wenn wir aus dem Textfeld klicken. Ich möchte, dass die Aktion ausgelöst wird, wenn die Textbox den vollen Wert erreicht hat.mein onselect funktioniert nicht

I enthalten meinen Code unten:

index.php

<html> 
    <head> 
     <script type="text/javascript" 
     src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
     <script type="text/javascript" 
     src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 
     <link rel="stylesheet" type="text/css" 
     href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" /> 

     <script type="text/javascript"> 
       $(document).ready(function(){ 
        $("#name").autocomplete({ 

         source:'search.php', 
         minLength:1, 

         change: function (event, ui) { alert("hi"); } 

        }); 


       }); 



     </script> 
    </head> 

    <body> 

     <form method="post" action=""> 
      Name : <input type="text" id="name" name="name" /> 
     </form> 

    </body> 
</html> 

search.php

<?php 
$con=mysqli_connect("localhost","root","","datadb"); 
// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

// ...some PHP code for database "my_db"... 

// Change database to "test" 
mysqli_select_db($con,"datadb"); 

// ...some PHP code for database "test"... 


$term=$_GET["term"]; 

$query=mysqli_query($con,"SELECT * FROM user where FirstName like '%".$term."%' GROUP by FirstName "); 
$json=array(); 
if (!$query) { // add this check. 
    die('Invalid query: ' . mysql_error()); 
} 
    while($student=mysqli_fetch_array($query)){ 
     $json[]=array(
        'value'=> $student["FirstName"], 
        'label'=>$student["FirstName"] 
         ); 
    } 

echo json_encode($json); 

?> 
+0

Haben Sie überprüft und versucht den 'Select' Rückruf? http://api.jqueryui.com/autocomplete/#event-select – Twisty

+0

Wenn der genaue Wert im Textfeld ausgewählt ist, welches Ereignis kann angewendet werden? – user7441072

+0

Der 'select' Callback wird ausgelöst, wenn ein Benutzer eine Auswahl aus Autocomplete trifft. – Twisty

Antwort

0

zu erkennen, wenn Sie eine der Optionen in der die automatische Vervollständigung wählen Sie die verwenden können, autocompleteselect ereignis ...

$("#name").autocomplete({ 
    source: 'search.php', 
    minLength: 1 
}).on('autocompleteselect',function() { 
    // Do your stuff here 
    alert("hi"); 
}); 

Ich hoffe, es hilft