首页 > 解决方案 > 在选择框中获取重复值,需要从选择框中删除重复选项

问题描述

我想首先从 php 中取消选择的值中删除重复值,或者在 jquery/javascript 中是否可以?

我正在我网站上的编辑页面上工作,我需要在其中显示一个选择框,其中一些值应该被选择,而一些值不应该被选择。

从数据库获取数据后,我有以下代码

<select name="tour_category[]" multiple="multiple" style="height:300px;">
  <option value="1" selected>Family</option>
  <option value="3" selected>Wildlife</option>
  <option value="4" selected>Cuisine (Food Tours & Food Walks)</option>
  <option value="1">Family</option>
  <option value="1">Family</option>
  <option value="2">Religion & Spirituality</option>
  <option value="2">Religion & Spirituality</option>
  <option value="2">Religion & Spirituality</option>
  <option value="3">Wildlife</option>
  <option value="3">Wildlife</option>
  <option value="4">Cuisine (Food Tours & Food Walks)</option>
  <option value="4">Cuisine (Food Tours & Food Walks)</option>
  <option value="5">Boat Trips</option>
  <option value="5">Boat Trips</option>
  <option value="5">Boat Trips</option>
  <option value="6">Short Tours (Half Day tours/Walking Tours/Day Excursions)</option>
  <option value="6">Short Tours (Half Day tours/Walking Tours/Day Excursions)</option>
  <option value="6">Short Tours (Half Day tours/Walking Tours/Day Excursions)</option>
  <option value="7">Weekend Gateways</option>
  <option value="7">Weekend Gateways</option>
  <option value="7">Weekend Gateways</option>                      </select>

但我需要显示以下输出:

<select name="tour_category[]" multiple="multiple" style="height:200px;">
  <option value="1" selected>Family</option>
  <option value="2" selected>Religion & Spirituality</option>
  <option value="3" selected>Wildlife</option>
  <option value="4">Cuisine (Food Tours & Food Walks)</option>
  <option value="5">Boat Trips</option>
  <option value="6">Short Tours (Half Day tours/Walking Tours/Day Excursions</option>
  <option value="7">Weekend Gateways</option>
</select>

标签: javascriptphpjqueryhtmlselect

解决方案


如果你想实现这一点,我建议你option使用 for 循环或映射来显示标签,并从你正在映射的数组中删除重复项。您可以使用 ES6 来实现这一点Set

所以假设你有以下代码:

const array = ['Family', 'Family', 'Wildelife', 'Wildlife'];
const uniqueSet= new Set(array);
const uniqueArray = [...uniqueSet];

//the new array will be ['Family', 'Wildlife']

推荐阅读