2017-04-18 3 views
2

最初のnを除いて、jqueryを使用してselect要素のすべてのオプションを削除したいとします。 ここでnの数量はの数量ですです。最初の2つのオプションを保持し、jqueryで選択要素に残りを削除したい

私はセレクタとして、コレクションの最後の2つの要素を見つける方法を覚えていることはできませんが、これはそれを行うだろう
+0

を削除最後のn-2 =休職最初の2!それは最後の2つを削除することを意味するのではないか、またはn-2を離れることを意味します – NoOorZ24

答えて

2

をあなたは除いて、第1の2つのオプション他が削除されることを望むあなたの会話を1として。あなたの選択ボックスのIDそれがsub_buyerを想定します::

を助けるコードの下の作業

$(document).ready(function() { 
 
\t $('#sub_buyer').find('option').not(':nth-child(1), :nth-child(2)').remove(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select class="form-control" name="sub_buyer" id="sub_buyer"> 
 
\t <option value="1">FB</option> 
 
\t <option value="2">RM</option> 
 
\t <option value="3">Joey</option> 
 
\t <option value="4">Isaac</option> 
 
\t <option value="5">Christina</option> 
 
\t <option value="6">James</option> 
 
\t <option value="7">Armando</option> 
 
\t <option value="8">Kent</option> 
 
\t <option value="9">Tyler</option> 
 
\t <option value="10">Michael</option> 
 
\t <option value="11">Dylan</option> 
 
\t <option value="12">Ryan</option> 
 
\t <option value="13">John-Ralph</option> 
 
\t <option value="14">John-Mike</option> 
 
</select>

jsfiddle URLをされてみてください。https://jsfiddle.net/xya0p3ym/

+0

これは動的ではありませんが、最初の** 3 **を維持したい場合はどうなりますか?著者は、量を動的にすることを望んだと述べた。 –

+1

n番目の値を動的にすることによって、彼はループを実行することはできない。 OPの仕事ではない問題を解決することです。 –

0

$('#mySelect') 
 
     .find('option:last-child') 
 
     .remove(); 
 
    $('#mySelect')  
 
     .find('option:last-child') 
 
     .remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="mySelect"> 
 
    <option value="">Select one</option> 
 
    <option value="1">1</option> 
 
    <option value="2">2</option> 
 
    <option value="3">3</option> 
 
    <option value="4">4</option> 
 
    <option value="5">5</option> 
 
    </select>

0
function removeLast (a){ 
var arr = $("#select_id option"); 
for(var i = 0; i<a;i++){$(arr[arr.length-1]).remove();} 
}; 
removeLast(number_of last_items_to_delete); 

このコードは、唯一のオプションを選択タグではなく、すべての子どもが、最後の子を削除できます。これが機能している

0

$(document).ready(function(){ 
    var n = 4; 
    var options = $('select').children(); 

    for (var i = 0; i < options.length; i++) { 
    if (i >= n) { 
     options[i].remove(); 
    } 
    } 
}); 
+0

なぜn = 4かかりましたか? –

+0

番号が動的なので、あなたがnのために取るものではありません。あなたは1または3を維持すると、これは常に動作します。 –

関連する問題