2011-12-19 218 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