jquery - Django Language Switcher Not Showing Check Next to Current Language -


i have language switcher can't use form directly. here code:

<li class="hoverselector">     <i class="fa fa-globe"></i>     <a>languages</a>     <ul class="languages hoverselectorblock">         {% lang in languages %}         <li><a href="#" lang-code="{{ lang.0 }}" class="change_language" {% if get_current_language == lang.0 %}selected="selected" {% else %} selected="" {% endif %}>{{ lang.1 }}</a></li>         {% endfor %}     </ul> </li> 

then have form:

<form action="/i18n/setlang/" method="post" style="display: none" id="change_language_form"> {% csrf_token %}     <select type="hidden">         <option type="hidden" id="language-option" value=""></option>     </select>     <input name="next" type="hidden" value="{{ request.path }}" />     <input type="hidden" value="" name="language" id="language" /> </form> 

then jquery form form:

<script>     $('.change_language').click(function(e){         e.preventdefault();         $('#language').val($(this).attr('lang-code'));         $('#language-option').val($(this).attr('lang-code'));         $('li.active').removeclass('active');         $('i.fa-check').remove();         if ($(this).attr('selected') === 'selected')         {             $(this).append('<i class="fa fa-check"></i>');             }         $(this).parent('li').addclass('active');         $('#change_language_form').submit();     });     </script> 

the code works, , changes language, cannot seem check mark appear next current language once page reloads. tried adding

if ($('.change_language').attr('selected') === 'selected') {     $(this).append('<i class="fa fa-check"></i>'); }    

at bottom of jquery showed earlier, still doesn't show check mark next correct language after reload, , makes other javascript doesn't seem work @ all. no check marks appear.

without code show correct check mark when click the language, , if click moves check mark. said after page reload, check mark gone.

what can make mark current language? missing?

thanks, appreciated

i able fix adding under jquery:

$('.current_language').parent().addclass('active'); $('.current_language').append('<i class="fa fa-check"></i>'); 

adding template tag:

{% get_current_language current_lang %}

and class of anchors within <li>'s in languages dropdown.

class="change_language{% if current_lang == lang.0 %} current_language {% endif %}"


Comments