我想顯示一些城市的自動完成使用jquery,當任何一個選擇城市,然後設置目的地ID隱藏字段。我正在使用Web服務來獲取Ajax調用的數據。jQuery的自動完成標籤價值undefined在asp.net
這裏是我的web服務方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<BALDestinations> AuotExtenderDestination(string destinationname)
{
DataSet ds=objDestination.GetDestination(destinationname);
List<BALDestinations> result = new List<BALDestinations>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
BALDestinations b = new BALDestinations();
b.City = dr["City"].ToString();
b.DestinationId = dr["DestinationId"].ToString();
result.Add(b);
}
return result;
}
,這是我的jquery自動完成文本框擴展的
<script type="text/javascript">
$(document).ready(function() {
SearchText();
$('#btnSearch').click(function() {
alert($("#hiddenAllowSearch").val());
});
});
function SearchText() {
$(".txtdest").autocomplete({
// source: $local_source,
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/AuotExtenderDestination",
data: "{'destinationname':'" + $('.txtdest').val() + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
},
focus: function (event, ui) {
$(".txtdest").val(ui.item.label);
return false;
},
select: function (event, ui) {
$(".txtdest").val(ui.item.label);
$("#hiddenAllowSearch").val(ui.item.value);
return false;
}
});
}
</script>
未定義出現在文本框輸入驗證碼,當我們鍵入任何有
喜在我看來,我想你應該已經離開了代碼在你的問題,你原來它有。現在看到這個問題的任何人都不會看到你最初是如何編寫代碼的,因此無法看出差異並從Cory的答案中學習。我盯着你的代碼幾分鐘,認爲它沒有錯,直到我意識到你已經更新了它。 – 2012-07-16 19:19:13
@Bruen對不起,我已經回滾我的編輯,現在問題與原來的相同。我只是做了編輯,因爲在cory答案後我面臨一個問題。你可以檢查cory和我對話的評論關於這個 – rahularyansharma 2012-07-16 19:50:24
完全沒有問題,這是一個很好的問題,我認爲很多人,包括我自己都被這個迴應對象絆倒了。 – 2012-07-16 19:54:33