javascript - 如何在 ruby​​ on Rails 中使用 ajax 识别点击了哪个图像

标签 javascript jquery ruby-on-rails ajax

我想知道识别我在网页上单击的图像的最佳方法,以便我可以用该图像替换另一个 div。

我的 html 页面看起来像这样 -

<div id="image" >
    <%= link_to image_tag(@product.image1_url,:width=>180, :height=>180), selection_path, remote: true %>
</div>
<div id="image2" >
    <%= link_to image_tag(@product.image2_url,:width=>80, :height=>80), selection_path, remote: true %>
</div>
<div id="image3" >
    <%= link_to image_tag(@product.image3_url,:width=>80, :height=>80), selection_path, remote: true %>
</div>

现在,如果我单击 image2,则 id="image"的 div 中显示的图像应替换为 @product.image2_url。我创建了一个 product.js.erb 文件,如下所示 -

$('#image').html("<%= escape_javascript image_tag(@product.image1_url,width: '250', height: '250') %>");

上面的js适用于一张图像,但我无法编写正确的jquery代码来识别单击了哪张图像。如何识别哪个元素被单击。我认为这很正常,但我对 jquery/javascript 很陌生。还请让我知道任何可以帮助我学习在 js.erb 文件中编码的有用资源。

任何指示将不胜感激。

提前致谢!!

最佳答案

您可以找到与this(当前js对象)最接近的div:

$('img').click(function() {
  clickedDiv = $(this).closest('div');
  clickedDiv.html( ... ); // do whatsoever you want
});

关于javascript - 如何在 ruby​​ on Rails 中使用 ajax 识别点击了哪个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25363643/

相关文章:

javascript - JQuery 简单切换不起作用

ruby-on-rails - Rails CanCan gem 重构能力类

ruby-on-rails - attr_accessor 使用表名

javascript - React.js onChange={value => {}} 多个值

javascript - 除了浏览器本身之外,如何使用 JavaScript 或 Java 清除浏览器(IE、Firefox、Opera、Chrome)历史记录?

Javascript,将两个数组组合成一种格式

javascript - fancybox/jQuery : Why can't I abort after toclick in a button with some relation with fancybox?

jQuery 不再接受 attr ("Checked") === true 逻辑

javascript - JQuery 交换列

ruby-on-rails - 在不重新查询数据库的情况下重新排序 Rails 中的事件记录?