我正在尝试在我的rails应用程序中使用jQuery,在点击按钮时基本上在两个部分之间切换。所需的行为如下:页面呈现用户的个人资料和“编辑个人资料”按钮。当单击配置文件部分上的“编辑配置文件”按钮时,将从DOM中删除部分,并呈现编辑配置文件部分。单击编辑配置文件部分上的“保存”按钮时,操作应反转并再次显示用户的配置文件。我是jQuery的新手,但在stackoverflow的帮助下,我得到了以下脚本:
<script language="javascript" type="text/javascript">
jQuery(
function editProfile($) {
$('#edit').click(function() {
$("#edit-profile").html('<%= escape_javascript(render :partial => "shared/edit_profile").html_safe %>');
$("#show-profile").empty();
});
}
);
jQuery(
function showProfile($) {
$('#save').click(function() {
$("#show-profile").html('<%= escape_javascript(render :partial => "shared/show_profile").html_safe %>');
$("#edit-profile").empty();
});
}
);
</script>
我的html.erb如下:
<div id="show-profile">
<%= render :partial => "shared/show_profile" %>
</div>
<div id="edit-profile"></div>
我遇到的问题是我似乎只能运行一个功能(即页面加载,我可以切换到编辑,但不能回来)。任何指导都将不胜感激。
答案 0 :(得分:0)
根据jQuery的版本,你应该使用
1.7之前: $('#save').live('click', function(){...})
1.7及以上: $('#save').on('click', function(){...})
同样适用于#edit
。
What is the difference between the bind and live methods in jQuery?
简而言之:.bind()仅适用于您当前在jQuery对象中选择的项目。 .live()将适用于所有当前匹配的元素,以及将来可能添加的任何元素。