0

問題はヘッダーに詳しく説明されています。select タグのすべてのオプション タグに . hide() を使用すると、最後の要素を非表示にした後に折りたたまれます。

フィドル: http://jsfiddle.net/dXVCn/

また、フィドルからのコード:

<select size="4">
<option>Test 1</option>
<option>Test 2</option>
</select>

$(function(){
    $('button').on('click',function(){
        $('select option:selected').hide();
    })
})
4

1 に答える 1

3

あなたの選択にa を提供しmin-width/widthてください。それらを非表示にするだけではなく、削除することはできないと思います。後で使用するためにオプションを保持する場合は、削除する前に、jquery のデータ キャッシュのようなキャッシュに格納できます。

JS:

$(function(){
    var $select = $('select');
    $select.data('myOptions', $select.find('option')); //save it here in case needed later

    $('button').on('click',function(){
        $select.find(':selected').remove();
    });
    //sample mathod to show populating them back
    $('#getBack').on('click', function(){
        $select.html($select.data('myOptions'));
    });

});

CSS:

select{
    min-width:60px;
    /*play around with fixed width/max-width to make sure your select is in proper shape.*/
}

フィドル

于 2013-09-25T03:08:01.660 に答える