有谁知道如何从表单下拉列表中删除多个option
?我想从数据库中读取数据,并根据其值删除一些option
。
<select name="year">
<option value="1">First year/option>
<option value="2">Second year</option>
<option value="3">Third year</option>
</select>
从数据库中读取数据后,我想根据数据的值删除一些值。因此,如果数据值为3
,我想从thr下拉列表中删除值1
和2
。
答案 0 :(得分:1)
您可以使用filter()过滤掉自定义条件下的元素。
<强> Live Demo 强>
$('[name=year] option').filter(function(){
return this.value != '3'
}).remove();
或
<强> Live Demo 强>
$('select :not(option[value=3])').remove();
根据评论修改,过滤元素的值小于给定值。
使用<
运算符代替== then然后将值视为数字而不是字符串
$('[name=year] option').filter(function(){
return parseInt(this.value) < 3
}).remove();
答案 1 :(得分:0)
您所要做的就是拥有相同下拉框的2个部分。在这些部分中,您需要动态生成省略您不需要的选项。
if($data_from_db){
<select name="year">
<option value="1">First year/option>
<option value="2">Second year</option>
</select>
}
else{
<select name="year">
<option value="1">First year/option>
<option value="2">Second year</option>
<option value="3">Third year</option>
</select>
}
答案 2 :(得分:0)
你可以使用这样的东西
$("select option[value!='3']").remove();