动态选项以选择下拉列表

时间:2011-12-19 23:43:34

标签: php arrays drop-down-menu

function loop_dropdown($valor) {
        for ($i = 0; $i < count($valor); $i++) {
            echo "<option value='$valor[$i][0]' class='dr'>".$valor[$i][1].'</option>';
        }
}

<form method="post" id="customForm2" action="">
<?php

for ($i = 0; $i < count($languages); $i++) {
    $u = $i+1;
    echo '
    <div class = "linguas" id="input_'.$u.'" style="margin-bottom: 10px;">
        <select name="myformdata[linguas][]">
        <option value="0" class="dr">Lingua</option>
        '.loop_dropdown($languages_dropdown).'
        </select> 
    </div>';
}
?>
</form>

的var_dump($ languages_dropdown);

  array
      0 => 
        array
          0 => int 2
          1 => string 'Espanhol' (length=8)
      1 => 
        array
          0 => int 1
          1 => string 'Português' (length=10)

两个问题:

首先,我得到了这些选择。为什么value="Array[0]"而不是value="1"value="2"

<option class="dr" value="Array[0]">Espanhol</option>
<option class="dr" value="Array[0]">Português</option>

第二个问题,这两个选项不会附加到下拉列表(选择)。

有什么想法吗?

编辑(输出html):

<form id="customForm2" action="" method="post">

<option class="dr" value="2">Espanhol</option>
<option class="dr" value="1">Português</option>

<div id="input_1" class="linguas" style="margin-bottom: 10px;">

<select name="myformdata[linguas][]">

<option class="dr" value="0">Lingua</option>

</select>
</div>

</form>

1 个答案:

答案 0 :(得分:2)

尝试将$valor[$i][0]放入{}

所以:

echo "<option value='{$valor[$i][0]}' class='dr'>".$valor[$i][1].'</option>';

**编辑代码**

function loop_dropdown($valor) {
    $output = '';
    for ($i = 0; $i < count($valor); $i++) {
        $output .= "<option value='$valor[$i][0]' class='dr'>".$valor[$i][1].'</option>';
    }
    return $output;
}