有這種簡單的形式,它發送get-request
到服務器。設置值爲隱藏字段使用jquery在自動完成期間不工作
<form id="form0" method="get">
<input id="searchTerm" type="hidden" name="searchTerm">
<input type="search" id="userSearchTerm" />
<input type="submit" value="submit" />
</form>
而且使用jQuery UI的auto-complete
到從服務器獲取JSON數據,是的,它工作正常。
<script type="text/javascript">
$(document).ready(function() {
$("#userSearchTerm").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/AutoComplete",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
alert("successfully got the data");
response($.map(data, function (item) {
return { name: item.name, value: item.age };
}))
}
})
},
select: function (e, ui) {
alert(ui.item.name);
$('#searchTerm').val(ui.item.name);
$("#form0").submit();
}
});
return false;
})
我得到像警報消息「順利拿到了數據」還有「項目名稱」。還檢查谷歌瀏覽器下的Network
標籤 - > json響應在那裏。
問題是,我無法提交表單。如果我刪除線,$('#searchTerm').val(ui.item.name);
表單正在提交,一切都很好。
任何一個人都可以指向正確的方向嗎?爲什麼不是這個簡單的JavaScript沒有運行?
您的sort2在哪裏定義?還是從哪裏來? –
@Jatinpatil:謝謝你指出。這是一個錯字。但是,仍然是同樣的錯誤。 –
它看起來像evrything很好。你能用樣本json創建[fiddle](http://jsfiddle.net)嗎? – Unknown