【发布时间】:2017-04-24 08:05:55
【问题描述】:
我刚刚使用 thw Typeahead.js 为 MVC 5 模型包装器实现了 typeahead 功能
http://timdwilson.github.io/typeahead-mvc-model/
一切正常,但我不知道如何设置建议下拉菜单中显示的项目数量限制。 javascript是这样的
$('#scrollable-dropdown-menu .typeahead').typeahead(null, {
name: 'countries',
limit: 10, -----> limit set here
source: countries
});
但我看不到 mvc 模型包装器是如何实现这一点的,有三个重载,其中一个有“AdditionalViewdata”,也许这是需要的?没有我能找到的文档,而且似乎没有其他人这样做(看起来它在下拉列表中默认为 5)我的后端机制返回超过 5 个结果,它只是没有反映在 html 中
@Html.AutocompleteFor(model => model.Organisation.Org, model => model.Organisation.ORGID, "Autocomplete", "Organisation", false, new { htmlAttributes = new { @class = "form-control" } })
谁能帮忙?
【问题讨论】:
-
对不起,但我不明白你想说什么,我确实提到我的后端代码工作得很好,它返回了一堆以我输入的字符开头的数据项(在已输入第 2 个)。例如,我的后端代码返回 22 个结果,但在 HTML 中只生成了 5 个。所以我假设在某个地方设置了一个“默认”限制为 5。我的问题是,我如何使用 typeahed mvc helper 更改该限制?我看不到任何明显的机制
-
好的。我运行下面的代码并添加了 16 个返回值,当我输入自动完成时,返回了 16 个值。因此,如果您要撤回 22 条记录 - 符合条件 - 则会显示 22 条自动完成。
-
这很奇怪,因为我只得到 5 个,我检查了控制器中返回的数据,我得到了 22 个数据项
-
你为什么不从头开始,按照我的例子来看看它是否有效?
-
我的服务器端代码与您的基本相同,它返回的数据但该数据并未反映在包装器生成的 html 中。我会敲出与你相同的东西并试一试,但我看不出它有什么不同,对我来说,它看起来像是客户端代码中设置的限制。应该可以覆盖限制集,但我不知道如何在 mvc 部分中
标签: c# asp.net-mvc typeahead.js