用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 option元素(如果不在此黑名单中)。这是您可能的解决方案吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章