我有一个 Rails 应用程序,可以为您提供人员列表。
当您单击一个名称时,它会向您显示一个由带有 jquery 滑块的 ajax 调用带来的 div,您可以对其进行调整。
然后,您可以关闭该 div。
如果您再次打开它(对于同一用户),ajax 调用会返回以使用滑块检索 div
除了滑块,一切都在那里。为什么?
代码:在index.html里面,调用了一个div
<div id='relationships'>
<%= render @relationships %>
</div>
div 有一个部分。这是部分 _relationship.html.erb
<%= div_for relationship do %>
<%= link_to image_tag('images/orange_man.jpg'), show_path(:id => relationship.id), :remote => true %>
<% end %>
当您单击图像“橙色人”时,js 请求将执行,直到显示操作:
def show
@relationship = Relationship.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
然后因为它是一个 js 调用,所以调用了 show.js.erb
$("#relationship_<%= @relationship.id %>").append("<%= escape_javascript(render 'knows_me')%>");
它调用了 know_me 部分。_knows_me.html.erb
<div id ="relationship_knows_me_#{@relationship.id}">
<a class="close">X</a>
*****this is where you click to hide the div*****
<% div_slider_id = "slider_knows_me_#{@relationship.id}" %>
<%= form_tag('/relationships/update/', :remote => true) do %>
<%= hidden_field_tag 'relationship_id', value = @relationship.id %>
<div id="<%= div_slider_id %>" class="sliders"></div>
<% end %>
</div>
<script type='text/javascript'>
$('a.close').on("click", function() {
$(this).parent().slideUp();
});
$(document).ready( function() {
$(function() {
$( "#<%= div_slider_id %>" ).slider({
orientation: "horizontal",
range: "min",
value: <%= @knows_me %>,
min: 0,
max: 100,
stop: function( event, ui ) {
$( "#<%= amount_id %>" ).val( ui.value );
$(this).submit();
}
});
});
});
</script>
为什么幻灯片只第一次出现?为什么在我滑动 div 并再次请求后它不会显示?
提前致谢