Di aplikasi Rails saya, dalam bentuk pembuatan postingan baru, saya menggunakan Metainspector untuk menghapus link dan mendapatkan gambar dari website yang disediakan.
Responsnya dalam ajax dan kemudian saya menggunakan skrip yang hanya menampilkan satu gambar dari daftar yang dikembalikan. Ada tombol sebelumnya dan berikutnya untuk melewatinya. Saya ingin atribut src gambar yang terlihat diambil oleh jQuery untuk mengisi bidang formulir saya.
Ketika saya mengklik sebelumnya atau berikutnya, konten bidang saya berubah, TAPI ini menampilkan gambar yang ditampilkan sebelumnya, bukan gambar sebenarnya. Saya tidak tahu bagaimana memicunya. Jika saya menampilkan Gambar3, saya memiliki src dari Gambar2 saya di bidang saya...
Apa yang harus saya tambahkan/ubah dalam kode ini untuk mengisi kolom dengan gambar sumber yang sedang ditampilkan, dan bukan gambar sebelumnya?
Berikut kode jquerynya:
var speed = 100;
$(".prev").click(function() {
var now = $(this).parent().next("ul.gallery").children(":visible"),
last = $(this).parent().next("ul.gallery").children(":last"),
prev = now.prev();
prev = prev.index() == -1 ? last : prev;
now.fadeOut(speed, function() {prev.fadeIn(speed);});
var img_src = $('.list_img').children(":visible").attr("src");
$('#image_url').val(img_src);
});
$(".next").click(function() {
var now = $(this).parent().next("ul.gallery").children(':visible').addClass("show"),
first = $(this).parent().next("ul.gallery").children(':first'),
next = now.next();
next = next.index() == -1 ? first : next;
now.fadeOut(speed, function() {next.fadeIn(speed);});
var img_src = $('.list_img').children(":visible").attr("src");
$('#image_url').val(img_src);
});
$(".gallery li").click(function() {
var first = $(this).parent().children(':first'),
next = $(this).next();
next = next.index() == -1 ? first : next;
$(this).fadeOut(speed, function() {next.fadeIn(speed);});
});
Dan bagian terkait formulir di new.html.erb :
<%= simple_form_for(@deal) do |f| %>
<%= f.text_field :link, id: 'link' %>
<div class="slideButtons">
<span class="prev"><</span>
<span class="next">/ ></span>
</div>
<ul class="gallery" id="scrap_img">
</ul>
<%= f.text_field :image_url, id: "image_url" %>
<%= f.submit %>