ダウンロード

Githubからダウンロードしてください。

jQuery.MediaSelect

準備

画像を一覧表示するhtmlを作ります。
基本的にBootstrapなマークアップにしています。

media-list1.html
<section id="media-list">
<table class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>Title</th>
<th>Image</th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="insert"><i class="icon-plus"></i> Insert</a></td>
<td>1</td>
<td>test1</td>
<td><a href="img/5_original.jpg"><img alt="2_thumb" src="img/5_original.jpg" /></a></td>
</tr>
・・・
</tbody>
</table>
<div class="pagination">
<ul>
<li class="active"><a href="#">1</a></li>
<li><a href="media-list2.html">2</a></li>
<li><a href="media-list2.html">Next</a></li>
</ul>
</div>
</section>

次に、テキストエリアの設置するhtmlを作成します。

index.html
<div class="control-group">
<label class="control-label">Textarea</label>
<div class="controls"><textarea class="input-xxlarge" cols="40" id="disc-textarea" name="article[discription]" rows="5"></textarea></div>
<button class="btn" id="disc-insert-btn"><i class="icon-picture"></i> Media Select</button>
</div>

呼び出し方

イベントになるボタンを選択して、オプションには「insertObj」で挿入するテキストエリアを指定します。

index.html
$('#thum-insert-btn').mediaSelect({
insertObj: '#thum-field'
});

「loadFile」オプションで最初に読み込むファイルを変更できます。

index.html
$('#thum-insert-btn').mediaSelect({
insertObj: '#thum-field',
loadFile : 'media-list1.html'
});

CodeMirrorの場合はそのままオブジェクトを入れます。

index.html
var meditor = CodeMirror.fromTextArea( .....
$('#mediaBtn').mediaSelect({
insertObj: meditor
});

ウィンドウの見出しとかは直書きしちゃってるので、jsの30行目あたりを修正してください。