我正在尝试使用MVC和Jquery。
我已经定义了一个像
@Html.TextBox("SearchParam")这样的文本框和我的脚本如下:
$(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);
}
});
});
你可以注意到我尝试使用onSearchParamChange()函数也是通过定义文本框如下:
@Html.TextBox("SearchParam", null,new { @onchange = "onSearchParamChange();" })
但以下问题仍然存在:
1.文本更改时不会触发TextBox Change事件,而是在文本框失去焦点或模糊时触发。
2.即使焦点松散,数据也会正确返回,但自动完成功能不起作用。
我正在使用MVC 3和jquery ui 1.8.20并在Chrome中进行测试..
请帮助..