2012-12-12 108 views
0

我有一个关闭下拉框的脚本,直到用户单击向下箭头,显示选项。我希望它从一开始就显示所有选项,因此他们不必选择向下箭头。有谁知道我需要改变以实现这个目标吗?我试着在.toggleClass上打开'open',但这似乎没有改变任何东西。下拉菜单在默认情况下打开php

<script type="text/javascript"> 
// <![CDATA[ 
// toggles the refine search field values 
jQuery(document).ready(function($) { 
    $('div.handle').click(function() { 
     $(this).next('div.element').animate({ 
      height: ['toggle', 'swing'], 
      opacity: 'toggle' }, 200 
     ); 

     $(this).toggleClass('close', 'open'); 
     return false; 
    }); 
    <?php foreach ($_GET as $field => $val) : ?> 
    $('.<?php echo esc_js($field); ?> div.handle').toggleClass('close', 'open'); 
    $('.<?php echo esc_js($field); ?> div.element').show(); 
    <?php endforeach; ?> 

}); 
// ]]> 
</script> 
+1

我可能是错的,但这可能是在您的JavaScript不是PHP,也可能需要说哪个菜单。 –

+0

好的谢谢。有没有办法让我们默认显示所有的选项,而不是用户点击一个按钮来显示选项? 整个代码在这里:http://pastebin.com/sya8auVG – creatrix

+0

这个链接到一个页面生成一个有序的复选框列表 - 这不是一个下拉框。 – deed02392

回答

0

PHP不会这样做,你可以玩与形式与JavaScript的交互。

在javascript上使用focus()函数,下拉应该自动聚焦。

<!-- Your form --> 
<form> 
<select id="mySelect"> 
    <option>...</option> 
</select> 
</form> 

<!-- Your Javascript --> 
<script type="text/javascript"> 
document.getElementById('mySelect').focus(); 
</script> 
+0

谢谢,你能告诉我在哪里我把这个在我的JavaScript? (Iv'e修改了我的原始问题) – creatrix

+0

@creatix简单地在Javascript的最底部写下它(在之前)。该行应该在页面加载完成时自动运行。 – ashiina

0

要显示所有项目而不使用下拉框,您可以使用HTML元素<select size="3">属性。

你能告诉我们所有的代码用于在页面上显示你的选择框,所以我们可能会建议如何做到这一点?我猜你正在使用某种框架。

<select size="3"> 
    <option>A</option> 
    <option>B</option> 
    <option>C</option> 
</select> 

用户将看到所有选项都出现在垂直框中。他们可以使用Ctrl来选择多个选项,在这种情况下,您需要将[]附加到select元素的name属性。

0

使用multiple属性,这样的选择框:

<select name="xxx" multiple> 
    <option value="1">value 1</option> 
    <option value="2">value 2</option> 
    <option value="3">value 3</option> 
</select> 

这里是一个Demo来看看它是如何出现。