私はmysqlデータベースからデータを取得するためにPHPを使用しています。そして、そのデータをjquery UIオートコンプリートで使用しています。しかし、返されるJSONがjqueryが必要とするものと一致しないようです。 JSONが返され、このようなものになります。私もそれにjQuery.parseJSONを使用jquery ui autocompleteとphp json string
["dyes miran famint","annie ferrer mendrez","annie ferrer mendrez","anton setra masgre","anton setra masgre","jeniffer hades cruz","jeniffer hades cruz","alvin louie urbano maranon","alvin louie urbano maranon","francisza jerrielleza bullonza","blaze br tags anchor"]
を。ここ
そして、私はPHPファイルにやったことだ:
$class_code = $_POST['class_code'];
$student_list = array();
$students = mysql_query("SELECT accounts.id, fname, mname, lname, classcode
FROM account_details
LEFT JOIN accounts ON account_details.id = accounts.id
LEFT JOIN class_rooster ON accounts.id = class_rooster.id
WHERE accounts.status = 1 AND accounts.type='student'
AND (class_rooster.id IS NULL OR classcode !='$class_code')");
$students_num = mysql_num_rows($students);
if($students_num > 0){
while($row = mysql_fetch_assoc($students)){
$student_list[] = $row['fname'] . ' ' . $row['mname'] . ' ' . $row['lname'];
}
echo json_encode($student_list);
ここで私が取得していますエラーです:
Uncaught TypeError: Property 'source' of object #<Object> is not a function
は、ここではJavaScriptです:
function get_students(){
var class_code = $('#current_classes').val();
$.post('student_list.php', {'class_code' : class_code},
function(data){
return data;
}
);
}
$("#student_name").live('click', function(){
$("#student_name").autocomplete({
source: get_students()
});
});
私は誤解されるかもしれないが、私はそれがidと値のプロパティを持つオブジェクトの配列、文字列を持つだけではなく、配列を期待だと思います。 – slash197
@pinkypower - 文字列の配列は、ドキュメントに従って動作します。http://jqueryui.com/demos/autocomplete/#remote PHPが生成したJSONがきれいに表示されます。問題はJavascriptのどこかにある可能性が高いです。それを投稿できますか? – zim2411
うん、あなたはそうだよ、自分でチェックしただけだ。 – slash197