0

selectmenuopen способ не работает.Как открыть JQuery selectmenu плагин из javascript?

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

Идеи?

fiddle

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; 
} 

ответ

3

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

$(function() { 
    $("#speed").selectmenu(); 
    $('#btn').click(function(event){ 
     $("#speed").selectmenu('open'); 
     event.stopPropagation(); 
    }); 
}); 
+0

Отлично, спасибо! – johntrepreneur

Смежные вопросы