我感兴趣的是为html下拉菜单创建一系列数值,范围从18到75.我的客户要求在数字29和30之间,我用值'中断范围'选择',这将是默认选项。
我认为这不是必要的,但我想我会玩,看看它是否可能。范围已经创建,所以现在我必须找到一种方法可靠地在其中间插入“选择”。我已经尝试了一些基于谷歌搜索和功能手册中的注释的东西,所以现在我转向堆栈。谢谢你的建议!
编辑:这是代码......
<?php
$age = range(18, 75);
echo ( '<select class="dropdown nextPanel" name="age">' );
foreach ($age as $option){
echo ( "<option value='".$option."'>".$option."</option>" );
}
echo ( '</select>' );
?>
另一个编辑:废话,我想我试图打断一个foreach。
答案 0 :(得分:2)
所以你得到了范围(使用range(18, 75)
?)并希望在29到30之间插入Choose
?
$pos = array_search(29, $range); // returns the index of 29
array_splice($range, $pos+1, 0, array('Choose'));
这将在29
中的值$range
后面插入“选择”。
如果你只想在打印时这样做,你可以先看一下ehudokai的答案。
编辑:如果您只想在选项编号29之后插入“选择”选项,并将其设置为选择中的默认选项:
foreach($range as $v) {
if($v == 30) {
echo "<option value='choose' selected='selected'>Choose</option>";
}
echo "<option value='$v'>$v</option>";
}
这样它仍会打印常规选项,但遇到选项30
时,它会首先打印出默认的choose
选项,并将其标记为已选中。
答案 1 :(得分:1)
array_splice
不应该有用吗?
$myarr = range( $start, $end );
array_splice( $myarr, round( count( $myarr ) / 2 ), 0, 'Choose');
答案 2 :(得分:1)
if($rangevalue == 29){
echo "<input value=\"\" selected>Choose</input>";
}
也许我错过了什么。
希望它有所帮助!