我正在尝试创建一个html / php表单,该表单允许在拖放菜单中显示数据数组。我怎么把它变成一个?
<?php
$OptionID = 1;
foreach( $this->setRoleOptions as $RoleID => $RoleName ) :
echo '<div align="center">';
echo '<input type="checkbox" style="width: 30px;" name="RoleID" value="'. $RoleID .'" ';
if ( $OptionID == 1 ) :
echo ' CHECKED ';
endif;
echo '/> '. $RoleName;
echo '</div>';
++$OptionID;
endforeach;
?>
我尝试了下面的代码来获取数组,但是一旦选择了该选项,就什么也不会发生。
<?php
$OptionID = array("Administrative", "Operations 1", "Operations 2");
?>
<select>
<?php foreach ($this->setRoleOptions as $RoleID => $RoleName): ?>
<option name="RoleID" value="<?php echo $RoleID; ?>"<?php if ($row['RoleID'] == $OptionID): ?> selected="selected"<?php endif; ?>>
<?php echo $RoleName;?>
</option>
<?php endforeach; ?>
</select>
答案 0 :(得分:0)
要转换当前具有的复选框,只需使用与您相同的数据创建一个简单的<select>
标记。
这是主意:
<?php $OptionID = array("Administrative", "Operations 1", "Operations 2"); ?>
<select name="RoleID">
<?php foreach ($this->setRoleOptions as $RoleID => $RoleName): ?>
<option
value="<?php echo $RoleID; ?>"
<?php echo in_array($RoleID, $OptionID) ? 'selected: ''; ?>
>
<?php echo $RoleName; ?>
</option>
<?php endforeach; ?>
</select>
name
属性应位于select
标记本身上。 value
属性应该在option
标签上。
由于每次迭代时,您都需要检查当前的$RoleID
是否在$OptionID
内,in_array()
是一个数组,因此最好使用内置函数{{1} }。
答案 1 :(得分:0)
select
标签应该有一个名称,而选项则没有。