簡體   English   中英

使用 PHP 將 HTML 復選框列表更改為選擇下拉列表

[英]Changing HTML Checkbox list into select dropdown list with PHP

我正在嘗試創建一個 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 '/>&nbsp;'. $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>

要翻譯您當前擁有的復選框,只需使用您擁有的相同數據創建一個簡單的<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()代替。

select選項卡應該有一個名稱,而選項沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM