コールバックメソッドを使用してJqueryオートコンプリート機能があります。しかし、それは実行されていないようです。ここでjavascript jquery関数を実行できません
は私のコードです:クライアント側で
:コードビハインドで
<script type="text/javascript">
$(document).ready(function() {
alert("hi");
$("#Text1").autocomplete({
minLength: 0,
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: 'BlissMaker.aspx/GetNames',
data: "{ 'sname':'" + request.term + "' }",
dataType: "json",
dataFilter: function (data) { return data; },
success: function (data) {
if (data.d != null) {
response($.map(data.d, function (item) {
return {
label: item.Name,
value: item.Id
}
}))
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.responseText);
}
});
},
focus: function (event, ui) {
$("#Text1").val(ui.item.label);
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a><img src='" + item.icon + "' width='32' height='32' /> " + item.Name + "</a>")
.appendTo(ul);
};
}
</script>
:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<States> GetNames(string sname)
{
List<States> sbStates = new List<States>();
con = new SqlConnection("Data Source=PRATEEK\\SQLEXPRESS;Initial Catalog=BD;Integrated Security=True;Pooling=False");
con.Open();
Me mee = (Me)Session["Me"];
qr = "SELECT FBFriends.FB_Id2, ActiveInfo.Name, ActiveInfo.Profile_Pic, ActiveInfo.Gender FROM [FBFriends],[ActiveInfo] WHERE FBFriends.FB_Id1='" + mee.Id + "' AND ActiveInfo.FB_Id=FBFriends.FB_Id2";
ds = new DataSet(qr);
da = new SqlDataAdapter(qr, con);
da.Fill(ds);
ds.Tables[0].Select(ds.Tables[0].Columns[1].ColumnName + " Like '%" + sname + "%' and " + ds.Tables[0].Columns[3].ColumnName + " = 'Female'");
foreach (DataRow row in ds.Tables[0].Rows)
{
States st = new States();
st.Id = row.ItemArray[0].ToString();
st.Name = row.ItemArray[1].ToString();
st.Value = row.ItemArray[1].ToString();
st.Icon = row.ItemArray[2].ToString();
sbStates.Add(st);
}
return sbStates;
}
オートコンプリート機能は、アラートと同様と呼ば取得されていないようです().. どのようにそれを呼び出すための任意の提案?
を追加しました: スタックトレースを確認した後、それは
不明なメソッド名によりgetNames
任意の提案は私にエラーを与えて?
返されたデータオブジェクトをコンソールに出力できますか?コールバックの成功を確認するだけです。 – rayfranco
あなたはなぜあなたがここにそれらを持ち出す前にあなた自身のエラーを見るためにJavaScriptエラーを開かないのですか? – Aristos
@vini私たちの答えの3つを組み合わせると、_jk._には複数の構文エラーがあります(そのうちの1つは_Marcin Necsord Szulc_が出てきた括弧がありません)。次に、 'data:'セクションの文字列リテラルを 'dataToSend'という変数(またはあなたが呼びたいもの)に置き換えます。その後、それを実行し、それはすべての後に動作する必要があります。 – rcplusplus