-2

プロジェクトでhttp://www.htmlblog.us/jquery-autocompleteというソース コードを使用していますが、オートコンプリート テキスト ボックスに入力しても結果を取得できません。

どこが間違っていますか?

次のコードを使用します

Javascript : (この JavaScript 用に別のファイルを使用し、アラートを使用してこれが呼び出されるかどうかを確認し、実行時にアラート メッセージを生成できるかどうかを確認しました。)

jQuery(document).ready
 (
    function()
        {
                $('#CourseId').autocomplete( { url:'AutoComplete_Courses.php', minLength:2 } );                
        }
 );

Php:

<?php

echo('Your password must be at least 8 characters long');
if ( !isset($_REQUEST['term']) )
    exit;

$dblink = mysql_connect('localhost', 'root', '') or die( mysql_error() );
mysql_select_db('mydatabase');

$rs = mysql_query('select courseid, coursename, creditpoints from coursedetails where coursename like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by coursename asc limit 0,10', $dblink);

$data = array();
if ( $rs && mysql_num_rows($rs) )
{
    while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
    {
        $data[] = array(
            'label' => $row['courseid'] .', '. $row['coursename'] .' '. $row['creditpoints'] ,
            'value' => $row['courseid']
        );
    }
}

echo json_encode($data);
flush();
4

2 に答える 2

1

echo()無条件の出力にランダムなテキストをプレフィックスとして付けて、予期される JSON の結果を壊すとうまくいきません。

それを削除します:

echo('Your password must be at least 8 characters long');

それ以外の場合、オートコンプリート プラグインは受け取ります

garbage text here [{"json":"won't be readable"},...]
于 2012-10-28T19:58:22.687 に答える
0

AutoComplete プラグインのドキュメントを参照してください。間違ったオブジェクト プロパティを使用したようです。

http://api.jqueryui.com/autocomplete/

ご覧のとおり、' url ' プロパティはありません。代わりに' source ' を使用してください。

この行を変更します。

$('#CourseId').autocomplete( { url:'AutoComplete_Courses.php', minLength:2 } );

$('#CourseId').autocomplete( { source:'AutoComplete_Courses.php', minLength:2 } );

さらに、データベースからのデータで問題が発生した場合は、通常、PHP の組み込み出力関数 var_dump() で変数をラップして、PHP がデータをどのようにフォーマットしたかを確認します。

http://us2.php.net/manual/en/function.var-dump.php

于 2012-10-28T20:14:24.947 に答える