データベースからオブジェクトのリストを取得しています
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 をバックグラウンドで保存します。
何か案は?
ありがとう