2014-02-25 79 views
0

我現在有自動完成功能。如果值無效,我試圖添加onkeyup事件。我在這裏有兩個腳本。我的一個腳本是使用ajax從數據庫獲取值。我的另一個只是創造一個價值的變量。我需要的是將onkeyup事件連接到我的當前代碼,該代碼具有下拉的onchange事件。我如何混合這兩個代碼?在自動完成功能中添加onkeyup功能

任何幫助將不勝感激。先謝謝了!通過Ajax

獲取我當前的代碼

$(function() { 
    $("#autocomplete").autocomplete('autocomplete.php?', { mustMatch: true }); 
}); 

function changeAutoComplete (val) { 
    $("#autocomplete").autocomplete({ 
     source: 'autocomplete.php?selected='+val 
    }); 
} 

阿賈克斯

<?php 
    $mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error"); 
    $auto = $mysqli->real_escape_string($_GET["q"]); 
    $selected = $mysqli->real_escape_string($_GET["selected"]); 
    $sql = $mysqli->query("SELECT * FROM code WHERE item LIKE '%$auto%' AND cat_code='$selected' GROUP BY id ORDER BY item"); 

    if($sql) 
    { 
     $str = array(); 
     while($row=mysqli_fetch_array($sql)) 
     { 
      $str[] = $row['item']; 
     } 
     echo json_encode($str); 
    } 
?> 

自動完成與onkeyup事件

$(document).ready(function() { 
    var data = ["ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "iran", "Scheme"]; 
    $("#autocomplete").autocomplete(data, { mustMatch: true }); 
}); 
$('input#autocomplete').result(function(event, data, formatted) { 
    $("#result").html(!data ? "No match found!" : "Selected: " + formatted); 
}).keyup(function() { 
    $(this).search(); 
    $(this).css("background-color", "#D6D6FF"); 
}); 

回答

0

你應該做的是,在自動完成回調函數:

$("#autocomplete").on("autocompleteselect", function(event, ui) { 
//bind keyup event here 
});