初心者の質問にはお詫び申し上げます。私は自分のレールアプリにBootstrap Modal機能を実装しようとしていました。具体的には、<%=image_tag>
に適用すると、ユーザが特定の画像をクリックするとモーダルがアクティブになる。私は以下のSOの質問(Twitter Bootstrap Modal Form Submit)&(Bootstrap open image in modal)を見ましたが、指示に従った後、私はまだそれを行うことができませんでした。私は以下の関連するすべてのコードを提供してくれてありがとう。Railsで<%= image_tag>を持つブートストラップモーダル
最初(モーダルの画像が同じである - 最初のもの)それぞれの両端の各項目
index.html.erb
<%= image_tag item.avatar.url(:medium), class: "block", id:"open-AddImgDialog", data: { target: "#myModal", toggle: "modal"} %>
<div class="modal fade" tabindex="-1" id="imagemodal" role="dialog">
<div class="modal-dialog" role="document" >
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<%= item.product %>
</div>
<br/>
<h4 class="modal-title">
<%= item.product %>
</h4>
<div class="modal-body">
<div class="picture">
<%= image_tag item.avatar.url(:medium) %>
</div>
<br/>
<br/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
application.js
$(document).on('click',"#open-AddImgDialog", function() {
$('#imagemodal').modal('show');
});
試み3(ない画像が現れていない>正しいアイテムの現在の画像を撮像する画像を変更するためにJavascriptを追加)
index.html.erb
<%= image_tag item.avatar.url(:medium), class: "open-AddImgDialog", id:"test", data: { target: "#myModal", toggle: "modal"} %>
<div class="modal fade" tabindex="-1" id="imagemodal" role="dialog">
<div class="modal-dialog" role="document" >
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<%= item.product %>
</div>
<br/>
<h4 class="modal-title">
<%= item.product %>
</h4>
<div class="modal-body">
<div id="picture" style="border: 1px solid black; width: 200px; height: 200px;">
<canvas id="myCanvas" width="200" height="200"></canvas>
</div>
<br/>
<br/>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
アプリケーション。 js
$(document).on('click',".open-AddImgDialog", function() {
html2canvas($("#picture"), {
onrendered: function (canvas) {
//theCanvas = canvas;
//document.body.appendChild(canvas);
//Canvas2Image.saveAsPNG(canvas);
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("test");
var x = 0;
var y = 0;
var width = 200;
var height = 200;
ctx.drawImage(img, x, y, width, height);
}
});
});
ご回答いただきありがとうございます。そこでコードを更新し、画像をクリックするとモーダルがアクティブになります。しかし、私の最初のイメージを示すだけで、私はモーダルから出ることができません - そのような凍結 – Omar
あなたの応答を試してみました、そして、画像を変更するためにjavascriptを追加しようとしましたが、お勧めするものはありますか?ありがとうございました – Omar
これは私のために大いに役立ちました。 –