2014-02-25 53 views
0

我現在正在自動完成。我需要做的是更改自動完成的來源,我需要連接我的ajax以從數據庫中獲取值。我如何在我的當前腳本上連接我的腳本?請幫助,我真的堅持這一點。自動完成源代碼通過ajax獲取

<script> 
$(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"); 
}); 
</script> 

這裏是我當前的代碼

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

<select id="main" name="main" onchange="changeAutoComplete(this.value)"> 
<option value="" selected="selected">Choose</option> 
<?php echo $option; ?> 
</select> 

自動完成

<?php 
    $mysqli = new mysqli("localhost", "root", "", "2015") or die("Database Error"); 
    $auto = $mysqli->real_escape_string($_GET["term"]); 
    $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); 
    } 
?> 

回答

0

嘗試改變這一點:

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

到這一點:

function changeAutoComplete (val) { 
    $("#tags").autocomplete("option", "source", "autocomplete.php?selected=" + val); 
} 

的想法是,你只需要而不是重新初始化整個事情

+0

不工作切換到autocompletesource選項。我現在的代碼工作正常,我需要的是如何使用onkeyup事件將當前代碼連接到腳本上? – user3318208

+0

好吧,我想你應該解釋你的問題.... – andri

相關問題