如何根据条件制作下拉列表单select或多select?
Based on a condition, how to make a dropdown list single select or multiselect?
我有一个要求,在给出的员工列表下拉列表中,
如果 selectMultiple 被设置,下拉菜单应该允许多个 selects,如果 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 案例。
<select name="employeeList[]" id="employeeList" class="form-control" multiple="">
但是 multiple 属性本身的存在使得下拉列表符合 multiselect.
简而言之,无论哪种情况,它都会触发 multiselect 而不管条件如何。请帮忙。
您可以像这样简单地编写代码
You need to pass $selectMultiple = "multiple"
or $selectMultiple = ''
<select name="employeeList[]" id="employeeList" class="form-control" <? echo !empty($selectMultiple) ? $selectMultiple : '' ?>>
<?php
foreach($employeeList as $employee) {
echo "<option value='" . $employee->$employeeId . "'>" .
$employee->employeeName . "</option>";
}
?>
我尝试引入一个新变量 "chooseId" 来摆脱 multiple 属性,因此成功了!
将 select 标签修改为
<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>
现在代码可以识别multiple属性,仅当chooseId为1时启用multiselect,否则single select正常工作。
我有一个要求,在给出的员工列表下拉列表中, 如果 selectMultiple 被设置,下拉菜单应该允许多个 selects,如果 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 案例。
<select name="employeeList[]" id="employeeList" class="form-control" multiple="">
但是 multiple 属性本身的存在使得下拉列表符合 multiselect.
简而言之,无论哪种情况,它都会触发 multiselect 而不管条件如何。请帮忙。
您可以像这样简单地编写代码
You need to pass
$selectMultiple = "multiple"
or$selectMultiple = ''
<select name="employeeList[]" id="employeeList" class="form-control" <? echo !empty($selectMultiple) ? $selectMultiple : '' ?>>
<?php
foreach($employeeList as $employee) {
echo "<option value='" . $employee->$employeeId . "'>" .
$employee->employeeName . "</option>";
}
?>
我尝试引入一个新变量 "chooseId" 来摆脱 multiple 属性,因此成功了! 将 select 标签修改为
<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>
现在代码可以识别multiple属性,仅当chooseId为1时启用multiselect,否则single select正常工作。