2014-02-25 40 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

相关问题