6

私は似たようなケースを探してみましたが、いくつか見つけましたが、毎回コードが少し異なり、解決策を見つけることができません...

私は自分のウェブサイトでmysqlデータベースからのデータを使用してjQueryオートコンプリートを使用しています。
結果はカテゴリ別に並べ替えられ、同じ入力で製品とブランドの両方が表示されます。そのため
、私は当然、彼らのWebサイトから例を貼り付けましたが、正常に機能します。
生成されたjsonは次のようになります

{"label":"Product 1","url":"product.php?id=1","category":"Products"}

私の唯一の問題は、結果をクリック可能にしたいということです。したがって、ユーザーが結果をクリックすると、入力にデータを入力するデフォルトの動作の代わりに、他のページが読み込まれます。

jsfiddleでデモを作成したので、何が起こっているかを確認できます
http://jsfiddle.net/fJ22W(データはここのjsに含まれています)

あなたの助けは大歓迎です、これはそれほど大したことではないと思いますが、jQueryのスキルが低いためにその問題を解決できません...

ベルトラン

4

1 に答える 1

8

selectイベントを使用します。

$( "#search" ).catcomplete({
        source: 'suggest_zip.php',
        select: function( event, ui ) {
            window.location = ui.item.url;
        }
    });

明らかに、URLなどの周りにいくつかの検証が必要になります。

価値があるのは、デフォルトのオートコンプリートウィジェットを使用し、それから継承しようとするのではなく、イベントとオプションを使用することもお勧めします。コードははるかにクリーンになり、奇妙なバグが発生する可能性が低くなります。

于 2012-09-06T13:08:57.013 に答える