Rails3-Ajax-需要一些基本Javascript/Jquery的帮助吗
我正试图学习一些javascript,但我被卡住了 现在,我有一个非常愚蠢的简单图库/图像应用程序。我试图做到的是,当有人单击一个图像时,它会将他们超链接到我的模型数据中的url,所有这些都是通过ajax实现的。原因是我还想用ajax做一些事情,比如在单击图像时更新图像的分数/投票计数器 现在,在视图中,我是这样做的:Rails3-Ajax-需要一些基本Javascript/Jquery的帮助吗,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我正试图学习一些javascript,但我被卡住了 现在,我有一个非常愚蠢的简单图库/图像应用程序。我试图做到的是,当有人单击一个图像时,它会将他们超链接到我的模型数据中的url,所有这些都是通过ajax实现的。原因是我还想用ajax做一些事情,比如在单击图像时更新图像的分数/投票计数器 现在,在视图中,我是这样做的: <% @galleries.each do |g| %> <% for image in g.images %> <div id="
<% @galleries.each do |g| %>
<% for image in g.images %>
<div id="picture">
<%= render 'top_nav'%>
<%= link_to image_tag(image.file_url(:preview)), g.source, :remote => true, :target => "_blank" %>
但我无法像在视图的do循环中那样,找出如何链接到我的g.source。如何在javascript中访问此模型数据?不过,我已经了解了如何在单击图像时呈现此代码,在…javascripts/application.js中有以下代码:
$(function() {
$("#galleries #picture a img").live("click", function() {
$.getScript(this.href);
return false;
});
});
对于我如何开始与应用程序的数据交互,而不是在公开的情况下硬编码url,有人有什么建议吗
谢谢如果从
a
获得的href
指向图像文件,那么您在窗口中打开图像的路径非常正确
请尝试使用以下代码:
$(function() {
$("#galleries #picture a img").live("click", function() {
var lnk = $(this).closest("a").attr("href");
window.open(lnk);
return false;
});
});
“#图库#图片img”
为您提供img
元素,但您需要包含图像的超链接。因此,我们将使用$(this)。最接近的(“a”)
来获取图像url的超链接。您的远程true图像链接会向图像控制器发送ajax调用吗?该方法需要响应js,默认情况下,它将呈现一个模板method.js。在该模板中,您可以包含更多javascript来完成该操作。这很有效:)-问题:因为我们正在查看img、anchor和href属性(在我的脑海中处理),所以当我们打开此链接时,它保留了我在视图中写的所有内容?当它打开链接时,就像我用“指向助手的链接”创建的HTML一样?@Kombo不明白你的问题。但是您的助手将发出如下信息:
。所以,当你点击图片时,它将在新窗口中只打开图片,那里不会有其他html内容。很抱歉这个令人困惑的问题。我在玩的时候就知道了。我很好奇javascript是不是保留了从我在视图中编写的内容(例如a:target=>“_blank”)打开带有赋值的链接的方法。我感谢你的帮助!这有助于我的理解很多。
$(function() {
$("#galleries #picture a img").live("click", function() {
var lnk = $(this).closest("a").attr("href");
window.open(lnk);
return false;
});
});