我正在尝试使用 MVC 和 Jquery。我已经定义了一个这样的文本框<td>@Html.TextBox("SearchParam")</td>
和我的脚本如下:
<script>
$(document).ready(function () {
$('#SearchParam').change(function () {
var source = $.ajax({
url: "/Search/SearchText",
type: "post",
async: false,
data: { searchText: $('#SearchParam').val() },
//success: function (result) {
// alert("Data");
//}
});
$('#SearchParam').autocomplete({
dataType: "json",
source: source
});
});
});
//function onSearchParamChange(){
// var source = $.ajax({
// url: "/Search/SearchText",
// type: "post",
// async: false,
// data: { searchText: $('#SearchParam').val() },
// //success: function (result) {
// // alert("Data");
// //}
// });
// $('#SearchParam').autocomplete({
// dataType: "json",
// source: source
// });
//};
$("#submitButton").click(function () {
// var data = new FormData($("#searchFrm")[0]);
$.ajax({
url: "/Search/Search",
type: "post",
data: $("#searchFrm").serialize(),
success: function (result) {
$("#partialBody").html(result);
}
});
}); </script>
您可以注意到,我还通过如下定义文本框来尝试使用 onSearchParamChange() 函数:
@Html.TextBox("SearchParam", null,new { @onchange = "onSearchParamChange();" })
但以下问题仍然存在:1. TextBox Change 事件在文本更改时不会触发,而是在文本框失去焦点或模糊时触发.. 2. 即使它失去焦点,数据也会正确返回,但是自动完成不起作用..我正在使用带有 jquery ui 1.8.20 的 MVC 3 并在 Chrome 中进行测试..请帮助..