2012-01-05 31 views
0

私は、ASP.NET Webアプリケーションのより良いデータ入力のために、jQuery UI Autocompleteプラグインを使用しています。jQueryオートコンプリートを使用してデータベースから検索データを取得していますか?

http://jqueryui.com/demos/autocomplete/

しかし、私は何とかこのプラグインで失っていると思います。 データベースからデータを取得する際にこの自動補完機能を使用するために何をすべきか質問したいと思いますか?

リアルタイム検索にはAjaxを使用しますが、 と思っていますが、上のWebサイトのデモを見て、どのようにしたらいいのか分かりません。

ありがとうございます。

更新:

ここでは、私が試してみましたコードは、ありません動作しませんが、あまりにも放火犯には誤り。

+0

何か試しましたか? – Robert

+0

はい。私は前に試しましたが、私にとってはまだ運がありません。 私は物事を混乱させるか、単にそのコンセプトを誤解したと思います...... 上記の私の編集にご注意ください。 – Hei

答えて

1

public ActionResult FirstNameLookup(string firstName) 
{ 
    var contacts = FindContacts(firstname); 

    return Json(contacts.ToArray(), JsonRequestBehavior.AllowGet); 
} 
+1

アドバイスをありがとう。 コントローラーメソッドがこの問題の原因であることが判明しました メソッドで何か問題が発生したため、オートコンプリートがクラッシュします。 – Hei

1

これですべての問題が解決するかどうかはわかりませんが、ここではいくつか編集できます。

  1. あなたはあなたのajaxリクエストにdataパラメータを使用しているので、urlの "?firstname ="部分は必要ありません。

  2. $( '#FirstName')。val()で検索用語を取得するのではなく、リクエストオブジェクト(request.term)のtermプロパティを使用してみてください。例えば

あなたが検索を行い、化するJsonResult

例えばとして結果を返すアクションを作成する必要が

$('#FirstName').autocomplete({ 
       source: function (request, response) { 
        $.ajax({ 
         url: "/Contact/FirstNameLookup", 
         type: "POST", 
         data: { 
          "firstName": request.term 
         }, 
         success: function (data) { 
          response($.map(data, function (item) { 
           return { 
            label: item.FirstName, 
            value: item.FistName 
           } 
          })); 
         } 
        }); 
       } 
      }); 
+0

お礼ありがとうございます。 しかし、ついに、私は問題がコントローラに関連していることを発見しました、そしてそれはオートコンプリート機能をクラッシュさせる小さなバグです....... – Hei

関連する問題