私は 2 つのフィールドを持つ mvc3 の小さなフォームに取り組んでいます。1 つはアカウント コード用で、2 つ目はアカウントの説明用です。
jqueryオートコンプリートテキストボックスを使用して、アカウントコードフィールドのSQL Server 2008 R2データベースからアカウントコードと説明のデータを取得しますが、テキストボックスに値が正しく表示されません。
以下は私のコードです。
$(function () {
$("#AcCode").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/AutocompleteSuggestions", type: "POST", dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { label: item.split('-')[0], value: item.split('-')[1] }
}))
}
})
},
minLength: 1,
select: function (event, ui) {
if (ui.item) {
alert("You picked" + ui.item.label + "' with a value of " + ui.item.value);
$("#AcCode").val(ui.item.label),
$("#Descrip").val(ui.item.value);
}
}
});
});
アカウントコードフィールドに説明が表示され、説明フィールドには何も表示されません。この問題を解決するのを手伝ってください。説明欄に説明文、アカウントコード欄にアカウントコードを表示したい。
データベースからデータを取得する関数 public List GetAutoCompDataDAL(string Acode) {
List<string> result = new List<string>();
using (SqlConnection con = new SqlConnection(CONNECTION_STRING))
{
using (SqlCommand cmd = new SqlCommand("select AcCode,Descrip from Account where AcCode like '%'+@AcCode+'%' order by AcCode asc", con))
{
con.Open();
cmd.Parameters.AddWithValue("@AcCode", Acode);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(string.Format("{0}-{1}", dr["AcCode"].ToString(), dr["Descrip"].ToString()));
}
con.Close();
return result;
//return result1;
}
}
}