Я использую семантическое-UI вместе с Django и у меня есть следующее выпадающее меню в виде:семантико-Ui DropDown в OnChange не стреляя
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>
То, что я пытаюсь do устанавливает значение выпадающего меню с помощью 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 срабатывает, если раздаточная изначально установлено, что это не моя главная проблема, хотя почему-то выстреливает несмотря на то, был присоединен к OnChange ПОСЛЕ в первоначальное назначение ускользает от меня.
Основная проблема: flagChange не запускается после каждого щелчка по выпадающему меню и изменения выбранного значения.
Можете ли вы попытаться использовать скрытый ввод внутри вашего '# lang_dropdown', который может удерживать выбранное значение? – Kamo