javascript - 用php显示选项数据并隐藏类似
问题描述
我正在使用 php 从我的数据库中选择数据。我在 HTML 选择选项标签中显示它。我有 100 多个选项,我想隐藏与我选择的数据相同的选项。例如:
<select class="form-control" id="type" name="type" required>
<option selected value='<?php echo $type; ?>'><?php echo $type; ?></option> // for example $type == "c"
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
例如,$type 变量是“c”。所以它显示选项“c”两次。如果我有 100 多个选项值,如何轻松隐藏我需要的那个?
解决方案
使用 JavaScript 和 jQuery 手动删除所有重复的选项标签
let values = []
$("option").each((index, item) => {
let { value } = item //item.value is the value of our current option in the loop
// check if value is already in values array
if(values.includes(value)) {
// delete duplicate from the DOM
item.remove()
} else {
// push value to values array so that duplicates can be detected later on
values.push(value)
}
})
console.log(values)
<select class="form-control" id="type" name="type" required>
<option selected value="c">c</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
<option value="d">d</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
替代解决方案
如果您给定的选项 a、b、c、d 始终相同,您可以在您的 PHP 代码中设置一个“黑名单”,并且仅在 html 选项元素不在此黑名单中时才回显该选项元素。这对您来说是一个可能的解决方案吗?
推荐阅读
- javascript - 如何在 reactjs 中折叠?
- flutter - 无法打开文件,路径 = 'C:\Users\nages\flutter\version' (OS Error: The system cannot find the file specified. , errno = 2) in flutter
- syslog - Spring Boot 集成 - syslog udp 支持
- pytorch - Pytorch:保存张量列表的最佳实践?
- netcdf - Cartopy 海岸线仅适用于一个国家
- java - java.lang.NoSuchMethodError(org.springframework.data.redis.core.RedisTemplate.delete(Ljava/lang/Object;)V) 从 1.3 升级到 2.4
- django - 在 ubuntu 20.04 上部署 django 项目时出现 systemctl status gunicorn 错误
- jquery - 基于搜索结果的jquery ajax订单表
- php - 如何仅为开发人员添加私有作曲家存储库
- html - 如何获得以图像为中心的锚文本?