jQuery选择特定的optgroup并删除选项

时间:2013-09-23 12:42:51

标签: jquery

如何删除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>

我想删除第二个optgroup class="test_list"的选项并重新填充它,我成功添加了选项,但没有在特定的optgroup我想知道如何:

  1. 选择具有多个optgroup的选择的特定optgroup
  2. 删除当前添加到该
  3. 的选项
  4. 向当前选择的选项组添加新选项
  5. 上面的当前脚本位于Ajax下,但它会删除所有下拉菜单的选项,所以请提供帮助。

    注意: testers_team-${info.problemId}的值与我在上面发布的select相同

1 个答案:

答案 0 :(得分:0)

您正在查找,清空并附加到选择。选择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);
        });
    });
}