我使用bootstrap-switch并使用bootstrap-switch-rails实现了它。很棒的功能,但是当我使用 ajax 响应来渲染部分时,我遇到了它的持久性问题。
我有一个视图文件:
#### index.html.haml
#partial_id= render 'partial'
呈现部分(包含引导开关切换功能和可点击按钮):
#### _partial.html.haml
.switch{"data-off-label" => "OFF", "data-on-label" => "ON"}
%input{:checked => "", :type => "checkbox"}
%button.click-here
当点击此处的按钮被点击时,会触发一个 ajax get 请求:
#### some_script.js.coffee
btn = $("#click-here")
btn.off "click"
btn.click (e) ->
$.ajax
type: "get"
dataType: "script"
url: "some_controller/some_action"
控制器接收请求:
#### some_controller.rb
def some_action
respond_to do |format|
format.js
end
end
并回复:
#### some_action.js.erb
var partial = $("#partial_id");
partial.children().remove();
partial.append('<%= j render("partial") %>');
当部分被重新渲染时,来自 bootstrap-switch 的脚本/样式表不会被加载(或类似的东西),因为没有显示切换功能,而是显示了一个简单的复选框。怎么会这样?