簡體   English   中英

如何在帶有選定值的for循環中顯示多個下拉列表

[英]How can i display multiple dropdown list in for loop with selected value

我在for循環中顯示了多個下拉列表,但是我無法顯示其選定的值,這個想法是我想在下拉列表中顯示選定的帖子值,以下是我的代碼-

<?php  
                    if ( !empty($assignee) )
                    {
                        // Counter
                        $k = 0;
                        // Loop through
                        foreach ( $assignee as $assignee )
                        {

                ?>
                            <tr>
                                <td width="140"><?php echo $assignee->firstname." ".$assignee->lastname ?></td>
                                <td width="200">
                                    <?php
                                            echo CHTML::activeDropDownList(
                                                $model,
                                                'role[]',
                                                CHtml::listData(Role::model()->findAllByAttributes(array('type'=>'project')), 'id', 'name'),
                                                array('prompt' => 'Select role', 'id'=>'role_'.$k.'', 'onChange'=>'javascript:unableAssignee(this.id)',  
                                                        )
                                            );
                                     ?>
                                </td>
                                <td width="60">
                                    <input type="checkbox" name="assignee[]" id="assignee_<?php echo $k ?>" value="<?php echo $assignee->id ?>" disabled="disabled" 
                                    <?php if(!empty($_POST['assignee']) && $_POST['assignee'] == $assignee->id ) { echo "in";?> checked="checked"  <?php } ?>/>
                                </td>
                            </tr>
                <?php 
                        // Increment counter
                        $k++;
                        }
                    }   
                ?>          

我可以給你一個大概的想法,用它來從數據庫中獲取選定的值

while($row_list1=mysql_fetch_assoc($resultstatus))
                    {                               
                        if($row['status']==$row_list1['license_status'])
                        {
                            echo '<option value="'.htmlspecialchars($row_list1['license_status']).'">'.htmlspecialchars($row_list1['license_status']).'</option>';                              
                        }
                        else
                        {
                            echo '<option value="'.htmlspecialchars($row_list1['license_status']).'">'.htmlspecialchars($row_list1['license_status']).'</option>';                              
                        }
                    }

您寫了一個小錯字,將CHTML::更改為CHtml::

根據您的要求,首先從htmlOptions中刪除'prompt' => 'Select role' ,然后在options屬性中使用'selected'=>true ,如下所示。

    $valueYouWant2Select='admin'; //for example
    echo CHtml::activeDropDownList(
            $model,
            'role[]',
            CHtml::listData(Role::model()->findAllByAttributes(array('type'=>'project')), 'id', 'name'),
            array(
                'options' => array($valueYouWant2Select=>array('selected'=>true)), 
                'id'=>'role_'.$k.'', 
                'onChange'=>'javascript:unableAssignee(this.id)')
            );

暫無
暫無

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

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