我有部分包含messeges列表。
当我点击消息时,
所以对于第一个例子它运作良好但不适用于第二个实例。 所以我发现我的部分没有第二次获得脚本。 知道为什么会这样吗?
代码详情: message.js
$(".message_inbox_link").bind('click', function(){
message_id = $(this).data('messageid');
$.ajax({
url: '/private_messages/'+message_id,
type: 'PUT',
});
});
controller.rb
def update
@private_messages = current_user.private_messages.inbox.order('created_at DESC')
@private_message = PrivateMessage.find(params[:id])
respond_to do |format|
@private_message.update_attribute(:unread, false)
format.js
end
end
update.js
$("#inbox").html("<%= escape_javascript( render(:partial => "inbox") ) %>");
答案 0 :(得分:0)
我知道你正在使用Ruby,但是在ASP.NET中部分页面回发后我遇到了同样的问题......
无论出于何种原因,您需要在部分回发后重新启动您的JavaScript。以下是我博客上的详细说明,希望对此有所帮助... http://www.raleighflash.com/article/20
祝你好运!答案 1 :(得分:0)
jquery中的轻微变化使其正常工作。但不知道为什么?
在第一种情况下,我的jquery是这样的(不适用于第二次迭代)
$(document).ready(function() {
$(".message_inbox_link").bind('click', function(){
message_id = $(this).data('messageid');
$.ajax({
url: '/private_messages/'+message_id,
type: 'PUT',
});
});
});
以下是正在运行的代码
$(document).on("click", ".message_inbox_link", function () {
message_id = $(this).data('messageid');
$.ajax({
url: '/private_messages/'+message_id,
type: 'PUT',
});
});