Я использую semantic-ui вместе с Django, и у меня есть следующий раскрывающийся список в форме:
HTML
<form id="lang_form" action="{% url 'set_language' %}" method="post">
{% csrf_token %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
<input id="lang_input" name="language" type="hidden">
<div id="lang_dropdown" class="ui icon dropdown button ">
<span class="text"></span>
<div class="menu">
{% for language in languages %}
<div class="item" data-value="{{language.code}}">
<i class="{{language.code|flag_class}} flag"></i>
</div>
{% endfor %}
</div>
</div>
</form>
Я пытаюсь сначала установить значение раскрывающегося списка с помощью jquery, а затем присоединить функцию к событию onChange.
jquery
$("#lang_dropdown").dropdown('set selected', "{{LANGUAGE_CODE}}");
var flagChange = function(value, text, $choice){
value = $("#lang_dropdown").dropdown('get value');
if(value != "{{LANGUAGE_CODE}}"){
$("#lang_input").val(value);
$("#lang_form").submit();
}
};
$("#lang_dropdown").dropdown({
onChange: flagChange
});
Что происходит: flagChange срабатывает, когда Dropbox изначально установлен, что не является моей основной проблемой, хотя причина, по которой он срабатывает, несмотря на то, что он был прикреплен к onChange ПОСЛЕ первоначального назначения, ускользает от меня .
Основная проблема заключается в том, что flagChange не запускается после этого всякий раз, когда я щелкаю раскрывающийся список и меняю выбранное значение.
#lang_dropdown
, который может содержать выбранное значение? - person kamil-mrzyglod   schedule 07.05.2015