jQuery - 无法在Rails表单中获得盲目效果

时间:2014-04-17 19:59:27

标签: javascript jquery ruby-on-rails

我正在开发一个 Ruby on Rails 4 项目,我正试图在form_for 中使用 jQueryUI方法show with blind effect。这里的问题是我的表单将按预期显示,但效果将无法正常工作。当我选中复选框时,最终会出现目标div,但是会以一种奇怪的方式出现:首先会在其位置弹出一些空白区域,并且在1秒后将显示整个div及其内容< /强>

这是我的html.erb

<%= form_for(@reserva) do |f| %>
    <% if @reserva.errors.any? %>
      <div id="error_explanation">
        <h2><%= pluralize(@reserva.errors.count, "error") %> prohibited this reserva from being saved:</h2>
             <ul>
                <% @reserva.errors.full_messages.each do |msg| %>
                  <li><%= msg %></li>
                <% end %>
            </ul>
     </div>
    <% end %>
     <div class="span12 field-box">
        <%= f.label :cliente_id %>
        <% clientes_array = Cliente.all.map { |cliente| ["#{cliente.nombre} #{cliente.apellido}", cliente.id] } %>
        <%= f.select(:cliente_id, options_for_select(clientes_array)) %>
    </div>
    <div class="span12 field-box">
        <label >Cliente Nuevo?</label>
        <%= check_box_tag 'con_cliente', 'ClienteNuevo', false %>
    </div>

    <div id="cliente_form">
        <%= f.fields_for :cliente, @cliente do |cliente_builder| %>
                  <div class="span12 field-box">
                    <label>Nombre:</label>
                    <%= cliente_builder.text_field(:nombre, class: "span9") %><br />
                </div>

这里的javascript:

<script type="text/javascript">
      $(document).ready(function(){
        $("#cliente_form").hide();
        $("#con_cliente").bind('change', function(){
            if($(this).is(':checked')){
                $("#cliente_form").show("blind");
            }
            else{
                $("#cliente_form").hide("blind");
            }
        });
      });
    </script>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后我解决了这个问题,问题是bootstrap和jquery-ui之间存在冲突,效果不能按预期显示。