2014-10-16 3 views
2

Я пытаюсь реализовать bootstrap modal по проекту rails. Он отлично работает, за исключением того, что мой дампикер не работает внутри модального. В моем файле индекса я следующееDatepicker не работает с bootstrap-modal

<%= link_to "search_products", search_products_path, remote: true, "data-toggle" => "modal", 
    'data-target' => '#search-products' %> 

<div class="modal fade" id="search-products" tabindex="-1" 
    role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"></div> 
    </div> 
</div> 

Затем в приложение/просмотров/товаров/search_products.js.erb У меня есть

$("#search-products").html("<%= escape_javascript(render 'products/search_product') 
    %>") 

и внутри 'search_product' частичное

<%= text_field_tag :date_purchased, type: "text", placeholder: t('click_here'), 
    class: "form-control date_picker" %> 

Я использую rails4 Datepicker не из бутстрапа и отлично работает на немодальных страницах моего приложения. Я был бы признателен, если бы кто-нибудь мог сказать мне, что я делаю неправильно.

Благодаря

+0

Является ли мой вопрос непонятным или недостаточно интересным, чтобы заслужить ответ? :-) – Tiamon

ответ

1

Попробуйте с помощью этого я использую это экстенсивно в моем проекте.

$('body').on('shown.bs.modal', '.modal', function() { 

     //Or perhaps any other initializer. 
     $('[databehaviour~=datepicker]').datepicker({ 
      minViewMode: "months", 
      format: "MM-yyyy", 
      startDate: "today" 
     }); 
} 
+0

Спасибо. Это тоже не сработало. Даже включение javascript-кода внутри частичного рендеринга не работает. – Tiamon

+0

Очистите кеш браузера и повторите попытку. –

+0

Я попробовал его с Firefox и, видимо, вижу, что он скрыт за модальным. Какая трагедия! :-) – Tiamon

3

В вашей app/views/products/search_products.js.erb вы должны явно инициализировать DatePicker, как вы добавляете HTML динамически в DOM. Таким образом, файл должен выглядеть примерно так (в зависимости от того, что DatePicker вы используете):

$("#search-products").html("<%= escape_javascript(render 'products/search_product') %>"); 
$(".date_picker").datepicker(); 
+0

Спасибо за ответ. Но, к сожалению, я получаю внутри поля ввода даже после реализации вашего предложения: {: type => "text",: placeholder => "cick_here",: class => "form-control date_picker"} – Tiamon

+0

Можете ли вы показать, что фактический визуализированный HTML выглядит внутри модального? – mccannf

+0

Как я сказал ниже на другом комментарии, когда я переключился с chrome на firefox, я вижу, что всплывающее окно скрыто за модальным. Я читаю об увеличении z-индекса из других потоков. Спасибо – Tiamon

Смежные вопросы