[英]how to replace html in application.html.erb using ajax in rails?
我嘗試在yield內部使用ajax,所有方法均能正常工作,但是當我實現ajax時,請在application.html.erb(布局)中替換html,但ajax無法正常工作且不能替換html。
我的application.html.erb:
<li id="header_notification_bar" class="dropdown">
<a id="click_notif" data-toggle="dropdown" class="dropdown-toggle" data-remote="true" href="#">
<i class="fa fa-bell-o"></i>
<span id="notif_count" class="badge bg-warning"></span>
</a>
<ul id="notif_content" class="dropdown-menu extended notification">
</ul>
</li>
<script>
$(document).ready( function() {
$('#notif_content').html("<%=j render 'layouts/load_notif' %>");
$("#click_notif").click(function(){
$('#notif_count').html("<%=j render 'layouts/notif_count' %>");
});
});
</script>
如果AJAX實現內部收益率,在控制器的動作應該添加format.js
和我創建文件action_name.js.erb
,但如果application.html.erb我應該做???
請幫助我,謝謝
您是否嘗試過:
$(document).ready( function() {
$('#notif_content').html("<%=j render 'layouts/load_notif' %>");
$(document).on("click", "#click_notif", function(){
$('#notif_count').html("<%=j render 'layouts/notif_count' %>");
});
});
代表
盡管您的問題很晦澀,但是ajax的典型問題是,由於您要將新元素加載到DOM中,因此JS事件綁定器無法附加相應的事件
我不認為我編寫的代碼可以開箱即用,但是它基本上依賴於.delegate
原理-您選擇“容器”元素,然后從中委托事件
由於容器是在DOM加載時存在的,這意味着您將能夠使它與新元素一起使用。 您確實需要提供您的AJAX代碼以幫助我們創建更好的答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.