Simple Form javascript错误消息出现在错误的地方

时间:2014-02-10 19:13:12

标签: jquery ruby-on-rails jquery-ui simple-form jquery-select2

我正在使用简单的表单和jquery selextbox。一切都运行正常,除了JavaScript错误消息(提交表单之前)显示不显示在选择框旁边,但是在页面的左上角(在后面的按钮旁边,甚至认为表单是正确的)在页面中间)。我知道它与选择框有关,因为如果我删除选择框,则会在正确的位置显示错误消息。这是我的表单代码:

<%= simple_form_for(resource, :url => registration_path(resource_name)) do |f| %>
    <div class="custom-select">
         <%= f.input :type, collection: ["Student", "Employer"], 
             include_blank: "What are you?", required: true, label: false, %>
    </div>
<% end %>

这是javascript:

$('.custom-select select').c2Selectbox();

以下是没有选择框的生成的html:

<div class="input select required user_type">
   <select id="user_type" class="select required" required="required" 
     name="user[type]" aria-required="true">
    <option value="Student"></option>
    <option value="Employer"></option>
   </select>
</div>

这是使用selectbox生成的html:

<div class="custom-select">
    <div class="input select required user_type">
        <select id="user_type" class="select required c2-sb-enabled" required="required" name="user[type]" aria-required="true" style="display: none;">
            <option value=""></option>
            <option value="Student"></option>
            <option value="Employer"></option>
        </select>
        <div class="c2-sb-wrap">
            <div class="c2-sb-inner-wrap">
                <div class="c2-sb-text" style="width: 64px;"></div>
                <a class="c2-sb-button" href="#"></a>
            </div>
            <div class="c2-sb-list-wrap" style="min-width: 382px;">
                <ul class="c2-sb-list"></ul>
            </div>
        </div>
    </div>
</div>

如何将错误消息移动到字段中,默认情况下,简单表单通常会将其置于字段中?

0 个答案:

没有答案