Я интегрируюиз these dropdown effects в свой проект. Я хочу составить список стран, и когда посетитель выбирает его, он отправит его на страницу. Проблема в том, что событие onChange() не будет работать, когда dropdown.js находится в миксе.CoDrops dropdown onChange событие не будет работать
Я попытался с
onChange='this.form.submit()"
И
onChange='sendForm()"
...
<script type="text/javascript">
function sendForm() {
document.getElementById("destination-select").submit();
}
</script>
Оба работают, если удалить dropdown.js, но очевидно, что эффект теряется.
форма
<form id="destination-select" action="/" method="get">
<select name="destination" id="cd-dropdown" class="cd-select" onchange="sendForm()">
<option value="-1" selected>Destination</option>
<option value="argentina" class="icon-argentina">Argentina</option>
<option value="brazil" class="icon-brazil">Brazil</option>
<option value="spain" class="icon-spain">Spain</option>
<option value="more " class="icon-more">See more</option>
</select>
</form>
UPDATE
Как @Amit отметил, что есть метод onOptionSelect(), я использовал его и найти, работает. Проблема в том, что он не извлекает выбранную опцию. Также onChange = "sendForm()" или onChange = "this.form.submit()". Я даже пытался подделать кнопку клика с помощью метода .click(). Есть идеи? Благодаря!
немного кода:
<form id="destination-select" action="/" method="get">
<select name="destination" id="cd-dropdown" class="cd-select" >
<option value="-1" selected disabled>Destination</option>
<option value="argentina" class="icon-argentina">Argentina</option>
<option value="brazil" class="icon-brazil">Brazil</option>
<option value="spain" class="icon-spain">Spain</option>
<option value="more" class="icon-more">See more</option>
</select>
</form>
Javascript:
$(function() {
$('#cd-dropdown').dropdown({
gutter : 5,
delay : 100,
random : true,
onOptionSelect: function(opt){
sendForm();
}
});
});
sendForm()
function sendForm() {
document.getElementById('destination-select').submit();
}
Результат всегда является: url.dev/?destination=-1
ОК, onOptionSelect работает просто отлично. Но теперь проблема заключается в том, что она устанавливает выбранную опцию «-1». Я имею в виду, что он не извлекает выбранную опцию, а параметр по умолчанию для раскрывающегося списка. Я пробовал: 'document.getElementById ('destination-select'). Submit();' в onOptionSelect. Я также попытался вызвать метод sendForm() и даже подделка кнопки отправки нажатием кнопки click(). Все с одинаковым результатом: url? Destination = -1 // - 1 - значение по умолчанию –
@JorgeAnzola Проверьте это https://gist.github.com/amitonkare/fcb9e8ea55050f29b1708612d0f2b247 Он работает и предупреждает выбранную опцию. – Amit
Гений! Это очень помогло мне. У меня все еще были проблемы с формой, но теперь, когда вы решили, как получить страны, я мог бы сделать что-то вроде 'window.location.replace ("? Destination = "+ destination);' и он работает. Я не знаю, была ли это плохая практика или что-то еще, но работала. Благодаря! –