私はあなたに人のリストを与えるレールアプリを持っています。railsアプリケーションの最初の呼び出し後に表示されないjqueryスライダー
名前をクリックすると、調整できるjqueryスライダーバーを持つajax呼び出しによって表示されるdivが表示されます。
次に、そのdivを閉じることができます。あなたは(同じユーザーのために)それを再度開く必要があり
は、AJAX呼び出しは、スライダバーを除いてあり、スライダー
すべてにdiv要素を取得するために戻って。どうして?
コード: index.htmlを内側に、div要素はdiv要素は部分を持っている
<div id='relationships'>
<%= render @relationships %>
</div>
と呼ばれています。あなたはshowアクションまで、JSの要求が行く、画像「オレンジの男」をクリックしたときに、ここで部分的_relationship.html.erbは
<%= div_for relationship do %>
<%= link_to image_tag('images/orange_man.jpg'), show_path(:id => relationship.id), :remote => true %>
<% end %>
です:
def show
@relationship = Relationship.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
と、そのA以来JSを呼び出し、show.js.erbは部分的と呼ばれるknows_meを持って
$("#relationship_<%= @relationship.id %>").append("<%= escape_javascript(render 'knows_me')%>");
と呼ばれています。 the_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>
スライドショーはなぜ初めて表示されますか?なぜ私はslideUpのdivを表示して再度それを要求する?代わりのdivのidを使用divのクラスを使用しての事前