0

optionフォームのドロップダウンから複数の を削除する方法を知っている人はいますか? データベースからデータを読み取りたいのですが、その値に応じていくつかoptionの s を削除します。

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

データベースからデータを読み取った後、データの値に基づいていくつかの値を削除したいと考えています。したがって、データ値が の場合、値を削除し、ドロップダウン リストから3削除したいと思います。12

4

3 に答える 3

1

filter()を使用して、カスタム条件で要素を除外できます。

ライブデモ

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

また

ライブデモ

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

コメントに基づいて編集し、指定された値よりも小さい値を持つ要素をフィルター処理します。

== の代わりに演算子を使用<し、値を文字列ではなく数値として扱います。

$('[name=year] option').filter(function(){
    return parseInt(this.value) < 3
}).remove();
于 2013-04-15T11:10:47.443 に答える
0

このようなものを使用できます

$("select option[value!='3']").remove();
于 2013-04-15T11:10:12.027 に答える
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 に答える