1

注意:$i 是在代码前面设置的,有 25 个下拉框,数组显示前 5 个有值,所以我需要将这些下拉框设置为选中并显示相关值。

我有一个包含以下内容的数组:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18] => [19] => [20] => [21] => [22] => [23] => [24] => )

$i=1;
for ($p=1; $p<=25; $p++){
  for ($pp=1; $pp<=5; $pp++){
   echo "<select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'> 
    <option value='' selected='selected'>".$rank."</option>
    <option value='".$pp."'"; 
        if (in_array($p, $arr)) echo 'selected';
    echo ">".$pp."</option>";
  }
}

我要做的就是将相关的下拉菜单设置为选中状态以及它的值。说得通?

所有这一切都是将前 5 个下拉菜单设置为选中,但它们的值为 5,而不是 1、2、3、4、5。

我遇到的问题

4

3 回答 3

3

试试下面的代码...

$arr = array (1,2,3,4,5,'','','','','','','','','','','','','','','','','','','','');
$i=1;
for ($p=1; $p<=25; $p++){
    echo "<br><select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'>";    
    for ($pp=1; $pp<=5; $pp++){
        $selected = "";
        if ($pp == $arr[$p-1]){
            $selected = "selected='selected'";
        }
        echo "<option value='$pp' ". $selected .">".$pp."</option>";
    }
    echo "</select>";
}
于 2013-09-08T10:33:30.287 回答
0
<?php

$arr = ARRAY(0=>1, 1=>2, 2=>3, 3=>4, 4=>5, 5=>FALSE, 6=>FALSE);

$i=1;

for ($p=1; $p<=25; $p++){

  $arr_index = $p-1;
  echo "<select id='rqa".$i.$p."' class='business' name='q".$i."[]' onclick='mand();'>";

  for ($pp=1; $pp<=5; $pp++) {
    //<option value='' selected='selected'>".$rank."</option>
    echo "<option value='$pp'";
    if (isset($arr[$arr_index]) AND $pp == $arr[$arr_index]) echo " selected='selected'";
    echo ">".$pp."</option>";
  }

  echo "</select>";
  echo "<br /><br />";

}

?>
于 2013-09-08T08:45:02.670 回答
0

1.我将数组更改为代码数组而不是数组输出。

2.我在第 9 行添加了 myArray 名称。

试试这个:

    <?php
$myArray = Array( 1, 2, 3, 4, 5 );

for ($p=1; $p<=25; $p++){
  for ($pp=1; $pp<=5; $pp++){
   echo "<select id='rqa".$i."".$p."' class='business' name='q".$i."[]' onclick='mand();'> 
    <option value='' selected='selected'>".$rank."</option>
    <option value='".$pp."'"; 
        if (in_array($p, $myArray)) echo 'selected';
    echo ">".$pp."</option>";
  }
}
?>
于 2013-09-08T09:08:30.280 回答