根据条件,如何使下拉列表单选或多选?

时间:2017-10-25 09:55:22

标签: php html5 phalcon

我有一个要求,在员工名单下拉列表给出, 如果设置了selectMultiple,则下拉列表应该允许多个选择,如果未设置selectMultiple,则不应该这样做。

<select name="employeeList[]" id="employeeList" class="form-
control" multiple="<?=$selectMultiple?>">
    <?php
    foreach($employeeList as $employee) {

        echo "<option value='" . $employee->$employeeId . "'>" . 
        $employee->employeeName . "</option>";

    }    
    ?>
</select>

这是一个phtml文件,$selectMultiple从控制器传递(如Phalcon)。我尝试了传递$selectMultiple ="multiple"之类的内容,因此代码看起来像

<select name="employeeList[]" id="employeeList" class="form-control" multiple="multiple">
单个选择案例的

$selectMultiple=""

<select name="employeeList[]" id="employeeList" class="form-control" multiple="">

但是多个属性本身的存在使得下拉列表对于多重选择来说是合格的。

简而言之,在任何一种情况下,无论条件如何,它都会触发多重选择。请帮忙。

2 个答案:

答案 0 :(得分:1)

您可以简单地编写代码,如

  

您需要传递def has_permission(self): user = self.request.user return user.has_perm('polls.can_open') or user.has_perm('polls.can_edit') $selectMultiple = "multiple"

$selectMultiple = ''

答案 1 :(得分:0)

我尝试引入一个新的变量“chooseId”来摆脱多重属性,因此有效! 修改了选择标记,

<select name="employeeList[]" id="employeeList" class="form-control"
<?php if ($chooseId== 1) { ?> multiple="multiple" <?php } ?>>
<?php
  foreach($employeeList as $employee) {

    echo "<option value='" . $employee->$employeeId . "'>" . 
    $employee->employeeName . "</option>";

}    
?>
</select>

现在代码识别多个属性,并且仅当chooseId为1时才启用多选,否则单选将正常工作。