0

ここに、AJAX オートコンプリートを備えた select_course.php があります。私がやろうとしているのは、get_course.php で取得された配列変数を渡すことです。

<script type="text/javascript">
    $(document).ready(function(){
        $("#course_no").autocomplete({
            source:'get_course.php',
            remoteDataType: 'json',
            type: 'POST',
            minLength:1
        })
    });

そしてそれを含むフォーム

<form method="post" action="select_course_add.php" name="selectcourse">
<input size="35" type="text" id="course_no" name="course_no" autofocus /> 
<input type="submit" value=" Add " />
</form>  

get_course.php コード

$term=$_GET["term"];

$query=mysql_query("
SELECT    
    course_tbl.course_id
    , course_tbl.course_code
    , course_tbl.course_num
    , course_tbl.description
FROM
    cis_db.course_tbl
where course_num LIKE '".$term."%' OR course_code LIKE '%".$term."%'
ORDER BY course_tbl.course_num ASC, course_tbl.course_code ASC
");
$json=array();
    while($student=mysql_fetch_array($query)){
             $json[]=array(
            'value'=>$student["course_num"],
        'code'=>$student["course_code"], 
            'label'=>$student["course_description"]
                            );
        }
echo json_encode($json);
flush();

助けてください、私の問題は、この 3 つの変数を $_POST 'value'=>$student["course_num"]'code'=>$student["course_code"]、および'label'=に変換して使用するにはどうすればよいですか? >$student["course_description"]

4

1 に答える 1

0

次の 2 行は必要ありません。

remoteDataType: 'json'
type: 'POST'

要求は GET である必要があり、デフォルトでは、ajax 呼び出しは応答タイプが Json になることを認識しているため、応答は次のような配列でなければなりません。

echo json_encode(array('Value 1', 'Value 2', 'Value 3'));

配列でさらに多くの値を送信する必要がある場合は、オートコンプリートの select メソッドを使用して、この値を必要に応じて処理できます。

于 2013-10-04T16:19:13.493 に答える