2010-05-12 52 views
0

我想在下拉列表中以组的形式显示一些数据。我们可以选择一个组而不是一个组成员来选择下拉列表中的完整组。如果是,那么如果没有其他方式或蚂蚁可以使用其他控制方式?我们可以在HTML下拉列表中选择组吗?

感谢 Ashwani

回答

4

如果你的意思是你可以收集一个子集的形式的select框内的选项,那么,我相信你可以:

 <form method="post" action="" enctype="form/multipart"> 
     <fieldset> 
      <select> 
      <optgroup label="numbers"> 
       <option>One</option> 
       <option>Two</option> 
       <option>Three</option> 
      </optgroup> 

      <optgroup label="letters"> 
       <option>a</option> 
       <option>b</option> 
       <option>c</option> 
      </optgroup> 
      </select> 
     </fieldset> 
     </form> 

demo at: http://jsbin.com/iwada3/edit 

编辑在意识到自己是个白痴后,解决了真正被问到的问题(对不起,漫长的一天......):

<!DOCTYPE html> 
<html> 
<head> 
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 

    <script type="text/javascript"> 

    $(document).ready(
     function() { 
     $('option.all').click(
     function() { 
      $(this).parent().children().attr('selected','selected'); 
      $(this).attr('selected',''); 
     } 
     ); 
     } 
    ); 

    </script> 
<meta charset=utf-8 /> 
<title>JS Bin</title> 
<!--[if IE]> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 
<style> 
    article, aside, figure, footer, header, hgroup, 
    menu, nav, section { display: block; } 
</style> 
</head> 
<body> 

    <form> 
    <fieldset> 
     <select multiple> 
     <optgroup class="num" label="numbers"> 
      <option class="num all">Select all:</option> 
      <option class="num">One</option> 
      <option class="num">Two</option> 
      <option class="num">Three</option> 
     </optgroup> 

     <optgroup class="let"label="letters"> 
      <option class="let all">Select all:</option> 
      <option class="let">a</option> 
      <option class="let">b</option> 
      <option class="let">c</option> 
     </optgroup> 
     </select> 
    </fieldset> 
    </form> 
</body> 
</html>​​​​​​​​​ 

演示在:http://jsbin.com/ebeke3

它确实需要jQuery(在这个版本中,至少),但我不能看到你所需要的替代JS,我很抱歉地说。

如果你的意思是别的,那么我不确定我是否理解这个问题。

+0

感谢Ricebowl,实施你给我,我已经拥有它,但我想要的是选择组名称也。我的意思是,在你的代码中,(一,二,三)是在数字组中,我可以选择NUMBERS作为选项。或者其他方法? – 2010-05-12 18:14:45

+0

我喜欢你的答案,但我怀疑OP希望通过选择OPTGROUP名称来选择所有的组成员。这个例子不允许你选择组名 - 只有组成员。 – MJB 2010-05-12 18:16:15

+0

@Ashwani K,@MJB;是的,我显然是一个白痴......我只是通过jsbin的一些想法,觉得他们应该工作,但不。我假设你/他想点击'数字',然后让所有的孩子'选择'突出显示? – 2010-05-12 18:17:47

相关问题