2013-04-09 42 views
0

我想创建一个选项,其中有选项和子选项。如何使用子选项做选项?

例如,如果我有类似的像形式这一个:

<form method="post" action="processor.php"> 
    <select name="mySelect"> 
    <option value="1">Parent option 1</option> 
     <option value="1">Child option 1 of parent 1</option> 
     <option value="2">Child option 2 of parent 1</option> 
     <option value="3">Child option 3 of parent 1</option> 
    <option value="2">Parent option 1</option> 
     <option value="1">Child option 1 of parent 2</option> 
     <option value="2">Child option 2 of parent 2</option> 
     <option value="3">Child option 3 of parent 2</option> 
    </select> 
    <input type="submit" value="Send" /> 
</form> 

当用户选择Parent 1选项我想,我收到这样一个阵列:

array(
    "parent" => "1" 
); 

当选择Child option 3 of parent 2选项时,我会收到一个数组,例如:

array(
    "parent" => "2" 
    "child" => "3" 
); 

我该如何执行此操作?我可以发送类似parent_2|child_3的东西并爆炸,但我认为这不是最好的方法。

+0

https://developer.mozilla.org/en-US/docs/HTML/Element/optgroup – PeeHaa 2013-04-09 20:09:27

回答

2

<select>标记不支持嵌套选项。它支持groups,但不是真正的层次结构。

有可用的基于JavaScript的替换,它们使用嵌套列表来执行相同类型的功能。你可能希望探索这个选项。

0

尝试使用“<ul>”标签,而不是“<select>”再放入一些的jQuery或JavaScript和CSS做动画(隐藏,显示)的事然后提交使用javascript获取选定的值或做这样的:

Best way to submit UL via POST?

干杯!

0

我想你会从基于JavaScript的树控件而不是选择器中受益更多。您可以拥有无​​限级别的层次结构,而选择机制几乎就是您要找的。

您看过吗,例如DHTMLX Tree