次のようにMySQLから取得した6000以上のユーザー名の配列があります。
$pop = mysql_query("SELECT * FROM import_student");
while ($r = mysql_fetch_assoc($pop)) {
$student_array[] = $r['studentfirstname']." ".$r['studentlastname'];
}
$big_array = json_encode($student_array);
次に、この配列を JS に渡し、オート コンプリート関数を次のように初期化します。
<script>
$(document).ready(function() {
var availableTags = <?php echo $big_array; ?>;
console.log(availableTags);
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
これは、SQL の結果を 0,10 に制限するとうまく機能しますが、制限せずに 6000 ほどのユーザー名を配列に入れると、オートコンプリートが機能しません。firebug で次のエラーが発生します。
value is null
return matcher.test( value.label || value.value || value );
ここで私が間違っていることを知っている人はいますか?私が言ったように、これは結果を制限するときに機能します。大きな配列を持つことについて何か?IDK。