1

データベースからオブジェクトのリストを取得しています

public class TestCode
{
    /// <summary>
    /// ProductID
    /// </summary>
    public int Id { get; set; } 
    public String CodeName { get; set; }
    public String ManName { get; set; }
    public String DOSName { get; set; }
}

私のコントローラーは、それらを使用してjsonに変換します

 return Json(formattedCodes);

コントローラーは次の ajax によって呼び出されます

 $(document).ready(function () {
       $("#tags").autocomplete({
           source: function (request, response) {
               $.ajax(
               {
                   type: "POST",
                   url: '@Url.Action("GetAutoText3", "Code")',
                   dataType: "json",
                   data: { Code: $("#tags").val() },
                   success: function (data) {
                                               response($.map(data, function (c) {
                                                   alert(c.ManName);
                                                   return c
                                               }));
                   }
               })
           }
       })
   });

以前は json 文字列を返していましたが、上記のコードは正常に機能していました。それでも問題なく動作しますが、入力ボックスにオートコンプリート値が入力されていません。これは、おそらくオブジェクトが返されるようになり、行「data: { Code: $("#tags").val() }, " はおそらくもう有効ではありません。

" alert(c.ManName);" 正しい値を返すので、オブジェクトは間違いなくそこにあり、正しいです。

文字列を連結するのではなく、データをhtmlに割り当てる「モデル」の方法を探しています。

たとえば、オートコンプリートには ManName と CodeName の値が表示されますが、オートコンプリート項目が選択されたときに ID を使用できるように、ID をバックグラウンドで保存します。

何か案は?

ありがとう

4

0 に答える 0