2012-01-18 2 views
1

я следующий код в HTML формеOPTGROUP получить в ярлыке PHP, связанные

<select name="category" class="input" onchange="ShowTB(this,'suggest');"> 
     <option value="0" selected="selected"> 
     [choose yours] 
     </option> 
     <optgroup label="Item"> 
     <option value="SubItem1"SubItem1</option> 
    <option value="SubItem2">SubItem2</option> 
    </optgroup> 
     <option value="Item2">Item2</option> 
     <optgroup label="Item3"> 
    <option value="SubItem4"SubItem4</option> 
    <option value="SubItem5">SubItem5</option> 
    </optgroup> 
     <option value="Item4">Item4</option> 
<option value="Item5">Item5</option> 
<option value="Item6">Item6</option> 
<option value="Item7">Item7</option> 

</select> 

в PHP я получаю значение поля выбирается:

$category = $_POST['category']; 

в этом режиме, если я выбрать в form ie: SubItem1, в php i получить значение SubItem1, но я хочу также получить связанный ярлык ie: Item или если я выбираю SubItem5, я ​​получаю SubItem5, но я хочу также получить связанную метку, то есть: Item3 Как это сделать?

ответ

6

Действительно, вы получаете только значение. Если вам нужно больше, просто закодировать все, что вы хотите в значение, например:

<option value="Item3.SubItem5">SubItem5</option> 

В качестве альтернативы, вы можете использовать JavaScript, чтобы поймать onChange события на select поле и обновить скрытое поле ввода с нужной меткой.

+0

Ваше второе предложение: установить значение скрытого поля через JS OnChange событие является лучшим вариантом для перехода – hussainfrotan

1

вы можете создавать массивы значений, например.

<option value="Item3[SubItem5]">SubItem5</option> 

так, то ваш $ _POST [ «категории»] должна возвращать массив