如果已经存在或 selected,如何从 select 中删除选项?
How to remove options from select if already exist or selected?
我想从 select <option>
中删除或隐藏 selected/exist 布局 name/id。
如果布局选项:
首页
第 1 页
第 2 页
第 3 页
如果布局选项 Home
已经 selected ( hide/remove home
):
第 1 页
第 2 页
第 3 页
<select name="layout"> <?php foreach ($layouts as $layout) { ?>
<?php if ($layout['layout_id'] == $my['layout_id']) { ?>
<option value="<?php echo $layout['layout_id']; ?>" selected="selected">
<?php echo $layout['name']; ?>
</option>
<?php } else { ?>
<option value="<?php echo $layout['layout_id']; ?>">
<?php echo $layout['name']; ?>
</option>
<?php } ?>
<?php } ?>
</select>
只需remove/comment下面的代码:
<?php if ($layout['layout_id'] == $my['layout_id']) { ?>
<!-- <option value="<?php echo $layout['layout_id']; ?>" selected="selected">
<?php echo $layout['name']; ?>
</option> -->
<?php } else { ?>
您已经在循环检查当前页面。
不需要额外的努力,只使用那个逻辑来隐藏它。
为什么不用array_diff
?创建两个数组 $layouts
和 $existing
,然后执行以下操作:
<?php
//Set $layouts and $existing to proper array values
$results = array_diff($layouts, $existing); //Where the results will be Page 1, Page 2, Page 3 (not Home)
//Do stuff here (i.e. foreach loop through $results array)
?>
那么你就不必检查它是否已经存在,如果它已经存在,你也不必遍历每个项目。您可以遍历每个您知道不是重复的元素。有关 array_diff
的更多信息,请参阅 this
我想从 select <option>
中删除或隐藏 selected/exist 布局 name/id。
如果布局选项:
如果布局选项 Home
已经 selected ( hide/remove home
):
<select name="layout"> <?php foreach ($layouts as $layout) { ?>
<?php if ($layout['layout_id'] == $my['layout_id']) { ?>
<option value="<?php echo $layout['layout_id']; ?>" selected="selected">
<?php echo $layout['name']; ?>
</option>
<?php } else { ?>
<option value="<?php echo $layout['layout_id']; ?>">
<?php echo $layout['name']; ?>
</option>
<?php } ?>
<?php } ?>
</select>
只需remove/comment下面的代码:
<?php if ($layout['layout_id'] == $my['layout_id']) { ?>
<!-- <option value="<?php echo $layout['layout_id']; ?>" selected="selected">
<?php echo $layout['name']; ?>
</option> -->
<?php } else { ?>
您已经在循环检查当前页面。
不需要额外的努力,只使用那个逻辑来隐藏它。
为什么不用array_diff
?创建两个数组 $layouts
和 $existing
,然后执行以下操作:
<?php
//Set $layouts and $existing to proper array values
$results = array_diff($layouts, $existing); //Where the results will be Page 1, Page 2, Page 3 (not Home)
//Do stuff here (i.e. foreach loop through $results array)
?>
那么你就不必检查它是否已经存在,如果它已经存在,你也不必遍历每个项目。您可以遍历每个您知道不是重复的元素。有关 array_diff