0

有谁知道如何option从表单下拉列表中删除多个 s?我想从数据库中读取数据,并根据它的值删除一些options。

<select name="year">
    <option value="1">First year/option>
    <option value="2">Second year</option>
    <option value="3">Third year</option>
</select>

从数据库中读取数据后,我想根据数据的值删除一些值。因此,如果数据值为3,我想从下拉列表中删除值1和..2

4

3 回答 3

1

您可以使用filter()根据自定义条件过滤掉元素。

现场演示

$('[name=year] option').filter(function(){
    return this.value != '3'
}).remove();

或者

现场演示

$('select :not(option[value=3])').remove();

根据评论进行编辑,以过滤元素的值小于给定值。

使用<运算符而不是 == then 并将值视为数字而不是字符串,

$('[name=year] option').filter(function(){
    return parseInt(this.value) < 3
}).remove();
于 2013-04-15T11:10:47.443 回答
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>
   }
于 2013-04-15T11:08:10.870 回答
0

你可以使用这样的东西

$("select option[value!='3']").remove();
于 2013-04-15T11:10:12.027 回答