我要首先从取消选择的值中删除重复的值 在php中还是在jquery / javascript中有可能?
我正在网站上的编辑页面上,我需要显示一个 SELECT 框 在其中应该选择一些值,而在某些情况下则不要。
从数据库中获取数据后,我得到了以下代码
<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>
答案 0 :(得分:1)
如果要实现此目标,建议您使用for循环或映射显示option
标签,并从映射的数组中删除重复项。您可以使用Set
在ES6中实现此目标。
因此,假设您具有以下代码:
const array = ['Family', 'Family', 'Wildelife', 'Wildlife'];
const uniqueSet= new Set(array);
const uniqueArray = [...uniqueSet];
//the new array will be ['Family', 'Wildlife']
答案 1 :(得分:1)
在选择代码中添加一个属性id =“ tour_category”,然后尝试
$(document).ready( function(){
var a = new Array();
$("#tour_category").children("option").each(function(x){
test = false;
b = a[x] = $(this).val();
for (i=0;i<a.length-1;i++){
if (b ==a[i]) {
test =true;
}
}
if (test) {
$(this).remove();
}
})
});