2015-01-16 4 views
0

Добрый день, всем!Bootstrap select и django template

У меня странное поведение Bootsrap select и мой шаблон Django.

У меня есть шаблон профиля пользователя с формой редактирования, и я добавил текущее значение полей внутри тегов шаблона:

<select id="id_bd_month" name="bd_month" class="selectpicker" data-width="100%" data-size="6"> 
<option value="{{ request.user.profile.bd_month}}" selected="selected"></option> 
<option value=“01”>January</option> 
<option value=“02”>February</option> 
… 

И у меня есть базовый сценарий:

$('.selectpicker').selectpicker('render'); 

В первом когда я загружаю страницу, он говорит «Ничего не выбрано». Но если я снова обновил его (F5), плагин работает нормально.

Почему у меня этот странный эффект?

ответ

0

Наконец, я нашел решение ! Как сказал catavaran, это не проблема сервера Django. Я просто неправильно понял, как правильно использовать методы «render» и «value». В моем случае решение было простым:

$('.selectpicker').val('{{ request.user.profile.bd_month }}'); 
$('.selectpicker').selectpicker('render'); 

Thanks catavaran for help!

0

Вы должны установить selected атрибут выбранного <option> вместо пустого:

<select id="id_bd_month" name="bd_month" class="selectpicker" ...> 
<option value="01">January</option> 
<option value="02" selected="selected">February</option> 

или как альтернативный проход выбранного значения методы selectpicker():

$('.selectpicker').selectpicker('render'); 
$('.selectpicker').selectpicker('val', '{{ request.user.profile.bd_month}}'); 
+0

{{request.user.profile.bd_month}} возвращает мне месяц рождения. И, как сказано в документации, я могу использовать настраиваемое значение с помощью метода «render». Поэтому, как я думаю, selectpicker должен принимать это число, сравнивать с другими параметрами и добавлять выбранные. – NONAMA

+0

Я редактирую ответ. – catavaran

+0

Благодарим вас за помощь, но она по-прежнему не работает. Я думаю, что основная причина в том, что я использую стандартный сервер django dev. – NONAMA