Как открыть плагин JQuery selectmenu из JavaScript?

0

Метод selectmenu open не работает.

$( "#speed" ).selectmenu('open'); // doesn't work

Идеи?

играть на скрипке

HTML

<button id="btn">open it</button>
<fieldset>
    <label for="speed">Select a speed</label>
    <select name="speed" id="speed">
        <option value="Slower">Slower</option>
        <option value="Slow">Slow</option>
        <option value="Medium" selected="selected">Medium</option>
        <option value="Fast">Fast</option>
        <option value="Faster">Faster</option>
    </select>
</fieldset>

JS

$(function () {
    $( "#speed" ).selectmenu();
    $('#btn').click(function(){
        $( "#speed" ).selectmenu('open'); // doesn't work
    });
});

CSS

fieldset {
    border: 0;
}
label {
    display: block;
    margin: 30px 0 0 0;
}
select {
    width: 200px;
}
.overflow {
    height: 200px;
}
Теги:
jquery-ui-selectmenu
select-menu

1 ответ

3
Лучший ответ

Я посмотрел, что происходит. Он открывается нормально, но во время открытия он регистрирует обработчик кликов документа, который закрывает меню в ответ на любой щелчок вне меню, и щелчок на кнопке сразу обрабатывается этим обработчиком. Вы должны иметь возможность остановить обработчик, который обрабатывает этот клик так:

$(function () {
    $( "#speed" ).selectmenu();
    $('#btn').click(function(event){
        $( "#speed" ).selectmenu('open');
        event.stopPropagation();
    });
});
  • 0
    Отлично спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню