2014-01-31 3 views
0

У меня есть следующие коды ...заполнить выпадающий из массива

$all = $ent->getAll($fed_code); 

Array ([NC] => Array (
    [101] => banana, 
    [102] => orange, 
    [103] => apple, 
    ) 
    ) 


$select = $ent->getSelected($fed_code); 

Array 
(
[101] => banana, 
) 

то, что я хочу, если $ выберите значение находится в $ весь массив, а затем заполнить выпадающий список по значению выбранного. Вот код, который я На данный момент

<?php 
    foreach ($all as $orgKey => $list) { 
?> 
<tr><td width="5%"> 
     <h5>Extra Fruits</h5> 
    </td> 
    <td width="10%"> 
     <label class="control-label">Fruits</label> 
     <select class="input-xlarge" id="input" name="ent[]"> 
      <option value="">Select</option>'; 

      <? foreach ($list as $key => $value) { 
        $selected = in_array($select, $key)?'selected="selected"':''; 
        echo $selected; 
       ?> 

       <option <?=$selected?> value="<?=$key?>"><?=$value?></option> 
       <? } ?> 
     </select> 
    </td> 
         </tr> 

Но, кажется есть что-то не так, он не выбирает любую вещь. У кого-то есть идея?

ответ

0

Что делает печать $selected? Кроме того, чтобы выбрать один из вариантов выбора тега, не синтаксис, как:

<select> 
<option value="volvo">Volvo</option> 
<option value="saab">Saab</option> 
<option value="vw">VW</option> 
<option value="audi" selected>Audi</option> 
</select> 

вместо того, что вы даете, как selected="selected"

1

ли вам действительно нужно Еогеасп внутри? Я пробовал это, и он уже может распечатать ваш выбор с помощью тех, которые выбраны в $ select.

<select class="input-xlarge" id="input" name="ent[]"> 
    <? foreach ($all as $orgKey => $list) { 
     $selected = in_array($select, $list) ? 'selected="selected"' : ''; 
    ?> 
     <option <?=$selected?> value="<?=$orgKey?>"><?=$list?></option> 
    <? } ?> 
</select> 

Я только что понял, что я изменил параметр для in_array. Это должно сделать это. Я также добавил несколько опций в тег select, поэтому, если когда-либо у нас будет несколько выбранных, оно будет показано.

<select multiple class="input-xlarge" id="input" name="ent[]"> 
    <? foreach ($all as $orgKey => $list) { 
     $selected = in_array($list, $select) ? 'selected="selected"' : ''; 
    ?> 
     <option <?=$selected?> value="<?=$orgKey?>"><?=$list?></option> 
    <? } ?> 
</select> 

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

+0

Но список $ будет эхо-массивом, не так ли? а не содержимое массива? как вы это решаете? –

+0

my bad Я изменил параметры функции in_array. $ list будет иметь значение, а не массив. См. Мое обновление. – rccoros

+0

работая над ... сообщит вам после теста .... Спасибо –

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