在select标记内循环并回显选定的值

时间:2017-05-19 12:52:42

标签: php html mysql

我正在尝试循环选择标签并输出数量以便允许用户从选择框中选择数量,但数字是彼此相邻打印的,如何解决? ,,以及如何回应所选项目??

 <select name="quantity">
 <div  style="font-
size:13px;position:relative;left:10px;width:80px;height:20px;border-style: 
hidden;background-color:rgba(0, 0, 0, 0.50);color:white;" > </div> 
 <option value="" disabled selected>Quantity </option>
 <option value="quantity"><?php for($i=1;$i<=$row["item_quantity"];$i++)
  {echo 
 $i."<br>";}?></option>

   </select>

3 个答案:

答案 0 :(得分:1)

而不是:

<option value="quantity"><?php for($i=1;$i<=$row["item_quantity"];$i++)
  {echo 
 $i."<br>";}?></option>

试试这个:

for($i=1;$i<=$row["item_quantity"];$i++)
{
   // To make a option selected
   $selected = '';
   if( $i == 2 )  // 2 or any value
   { $selected = 'selected="selected"'; }
   echo '<option value="'. $i .'" '.$selected.' >'. $i .'</option>'
}

说明:问题是,您的循环位于option标记内,这是错误的。将option标记放在循环中。

答案 1 :(得分:0)

检查脚本是否在错误的位置添加循环

    for($i=1;$i<=$row["item_quantity"];$i++)
    {
       echo '<option value="'. $i .'">'. $i .'</option>'
    }

答案 2 :(得分:0)

尝试这个

<select name="quantity">
     <option value=""  selected>Quantity </option>
     <?php for($i=1;$i<=$row["item_quantity"];$i++) { ?> 
     <option value="<?php echo $i ?>"><?php echo $i ?></option>
     <?php } ?>
 </select>