我需要在下拉列表中显示图像,其值在控制器中加载而不是从数据库中加载。我google了很多关于它,但通常它需要使用一些插件。是否有任何其他选项可以在没有任何插件的情况下实现此功能?
问问题
3177 次
1 回答
0
我知道您不想使用插件但是,请继续阅读!
有一个名为 Select2 的插件,它为 Bootstrap 类型的下拉列表提供了扩展功能。在 Select2网页上有一个使用 rotten-tomatoes api 加载电影的示例。条目包括标题、图像和概要。
如果您查看页面源代码,您可以看到他们是如何实现这一点的。
这段摘录是处理返回值的 javascript 函数,并在将它们传递到下拉列表之前将它们包装在 html 标记中。
function movieFormatResult(movie) {
var markup = "<table class='movie-result'><tr>";
if (movie.posters !== undefined && movie.posters.thumbnail !== undefined) {
markup += "<td class='movie-image'><img src='" + movie.posters.thumbnail + "'/></td>";
}
markup += "<td class='movie-info'><div class='movie-title'>" + movie.title + "</div>";
if (movie.critics_consensus !== undefined) {
markup += "<div class='movie-synopsis'>" + movie.critics_consensus + "</div>";
}
else if (movie.synopsis !== undefined) {
markup += "<div class='movie-synopsis'>" + movie.synopsis + "</div>";
}
markup += "</td></tr></table>"
return markup;
}
正如您所看到的,每个条目都在自己的表格中,并且由于它是 html,您可以轻松地插入图像。
有 jquery + ajax 可以调用控制器上的方法。该方法应返回JsonResult
视图上的 jquery,然后在 Select2 示例中,两个 javascript 方法处理序列化的 json,为下拉列表处理做好准备。
于 2013-02-15T16:03:35.047 回答