2011-12-19 217 views
0
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> 

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

有什么想法?

EDIT(输出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> 

回答

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; 
} 
+0

第一个问题解决了。但仍未附加到下拉选择。这两个选项在

标签 – Daniel 2011-12-19 23:53:15

+0

后面打印您能显示输出吗? – Indranil 2011-12-19 23:54:07

+0

问题已更新。谢谢 – Daniel 2011-12-19 23:57:51