1

optgroup特定のオプションを削除するにはどうすればよいですかselect

私がこれまでに行ったことは次のとおりです。

function(data)
{
    $('.'+id).each(function()
    {
        $(this).find('option').remove();
        $.each(data, function(index, value) {              
        $('<option>').text(value).appendTo('.'+id);
        });
    });

}

そして、select

<select id="testers" class="testers_team-${info.problemId}">
    <optgroup label="Current Assigned Tester">
        <option>I'll think about this later</option>
    </optgroup>
    <optgroup label="Testers" class="test_list">
        <c:forEach var="testers_per_team" items='${test.KwekKwek}'>
            <option>${testers_per_team}</option>
        </c:forEach>
    </optgroup>
</select>

2番目のオプションを削除してoptgroup class="test_list"再設定したいのですが、オプションを追加することに成功しましたが、特定のoptgroup方法を知りたいのではありません:

  1. 複数の optgroup を持つ select で特定の optgroup を選択します
  2. 現在追加されているオプションを削除します
  3. 現在選択されている optgroup に新しいオプションを追加します

上記の現在のスクリプトは下にAjaxありますが、ドロップダウンのすべてのオプションが削除されるため、助けてください。

注:の値は、上記の itesters_team-${info.problemId}と同じクラスですselect

4

1 に答える 1

1

選択したものを見つけ、空にし、追加しています。を選択してoptgroup、代わりにそれを操作します。

function (data) {
    $('.' + id).each(function () {
        var $optGroup = $(this).find('optgroup.test_list');
        $optGroup.empty();
        $.each(data, function (index, value) {
            $('<option>').text(value).appendTo($optGroup);
        });
    });
}
于 2013-09-23T12:51:14.487 に答える