2012-05-03 9 views
0

私はあなたに人のリストを与えるレールアプリを持っています。railsアプリケーションの最初の呼び出し後に表示されないjqueryスライダー

  1. 名前をクリックすると、調整できるjqueryスライダーバーを持つajax呼び出しによって表示されるdivが表示されます。

  2. 次に、そのdivを閉じることができます。あなたは(同じユーザーのために)それを再度開く必要があり

  3. は、AJAX呼び出しは、スライダバーを除いてあり、スライダー

  4. すべてに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のクラスを使用しての事前

答えて

0

感謝。私は同じ問題を抱えていましたが、divクラスを使って解決しました

0

スーパーエンジニアが正しいと分かりました。私はそれを隠して以来、divのIDはすでにそこにあったそれは再び表示されません。私はちょうどコールバックを取得し、問題が解決したときに部門のIDを変更しました。

関連する問題