-1

我需要在下拉列表中显示图像,其值在控制器中加载而不是从数据库中加载。我google了很多关于它,但通常它需要使用一些插件。是否有任何其他选项可以在没有任何插件的情况下实现此功能?

4

1 回答 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 回答