-1

DB からではなく Controller に値がロードされたドロップダウンリストに画像を表示する必要があります。私はそれについてよくグーグルしますが、通常はプラグインを使用する必要があります。プラグインなしでこの機能を実現する他のオプションはありますか?

4

1 に答える 1

0

プラグインを使いたくないのはわかっていますが、読み進めてください!

Bootstrap タイプのドロップダウン リストに拡張機能を提供する Select2 というプラグインがあります。Select2 Web ページには、腐ったトマト API を使用してムービーをロードする例があります。エントリには、タイトル、画像、あらすじが含まれます。

ページのソースを見ると、彼らがどのようにこれを達成しているかがわかります。

この抜粋は、返された値を処理し、それらをドロップダウン リストに渡す前に HTML マークアップでラップする JavaScript 関数です。

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 の例では、2 つの JavaScript メソッドがシリアル化された json を処理し、ドロップダウン リストが処理できるようにします。

于 2013-02-15T16:03:35.047 に答える