1

我在 MVC3 中使用 jQuery 的自动完成和远程数据源。我在控制器中有这样的动作:

public ActionResult AutoCompleteSource(string term)
{
    var result = // load some values filtered by term
    return Json(result, JsonRequestBehavior.AllowGet);
}

在cshtml中,我使用这样的自动完成功能:

var dataSource = '@Url.Action("AutoCompleteSource", "someControllerName");
$("#inputId").autocomplete(
    {
        minLength: 2,
        source: dataSource
    });

这有效,因此当用户在输入文本框中更改某些内容时,始终重新加载数据源。

当输入 2 个字符时,它会加载一些东西。在重新加载过程中,用户键入了第三个字符,因此它停止重新加载只有两个字符的动作并重新开始重新加载三个字符。

问题如下:当用户输入两个字符时,它会加载一些东西。在加载过程中,用户删除了一个字符,所以现在它实际上应该停止重新加载数据源,因为只有一个字符,自动完成应该停止工作。但它没有,它继续加载两个字符的术语并显示结果,即使用户删除了一个字符,所以实际上它应该什么都不显示。

您是否也遇到过这种行为,我该怎么办?

4

0 回答 0