2010-11-18 2 views
2

спользование HTML выберите падение вниз, как так:Есть ли способ, чтобы сделать поле выбора выпадающий, нажав кнопку

<select> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

Есть ли способ, я могу нажать на кнопку где-нибудь еще на странице и есть выпадающее окно выбора показывает параметры? Как будто я нажимал на поле выбора.

ответ

3

Нет, не используя собственный выпадающий элемент.

jQuery имеет .click(), но это будет выполнять только событие onclick, привязанное к элементу select, а не собственное событие «щелчка» самого элемента GUI.

0

вы можете увеличить размер фактического выбора области, делая это:

<select id="list1"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 
<button type="button" onclick="expand()">Click Me!</button> 

<script type="text/javascript"> 
function expand() 
{ 
    document.getElementById("list1").size=3; 
} 
</script> 

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

+0

Ничего себе за 35 секунд до моего ответа. Круто. –

+0

Спасибо, я могу попробовать и использовать это решение, хотя то, что я хотел сделать изначально, просто невозможно. – Corfro

+0

без проблем, удачи! – Dima

2

Ответ Gareth является правильным!

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

function showSelect() 
{ 
    var sel = document.getElementById('test'); 
    sel.size = 3; 
    return false; 
} 

<select id="test" size="1"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
</select> 

<a href="#" onlclick="return showSelect();">show select list</a> 
+0

Более общим назначением может быть: sel.size = sel.length; –

0

Да, однако решение проще, чем вы думаете. Вместо того, чтобы писать java-скрипт, чтобы спровоцировать фокус, просто создайте свою кнопку и полностью позиционируйте элемент select поверх него с непрозрачностью 0.001. Это позволит вам вызвать выбранный щелчок по тому, как DOM предназначался.

Например, посмотрите, как zappos делает это here.

Это работает! Попробуй!

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