检查jquery中是否存在id / label的optgroup?

时间:2010-07-21 19:20:50

标签: jquery jquery-selectors optgroup

我有一个下拉列表,在另一个过程中为该下拉列表添加了optgroups / options,这部分工作正常。

但我可能需要添加类似的optgroups,包含更多数据,我想检查该optgroup是否存在,如果存在,请不要添加它,只需添加选项到现有的optgroup。

我一直在寻找,似乎无法在选择optgroup方面找到任何帮助。

我现有的下拉列表的ID为“user_search_select”,可能的optgroup值可能类似于“dept_name”或“loc_name”或“last_name”

所以在我添加更多数据后,我可能想要对每个optgroup中的选项进行排序,这是可能的,怎么样?

谢谢!

1 个答案:

答案 0 :(得分:6)

检查this out。虽然我没有尝试过,但看起来它可以完成排序工作。

关于检查存在。基本上你可以查看:

<script type="text/javascript">
    $(document).ready(function() {
        if($('#mySelect optgroup[label=New group]').html() == null){
           $('#mySelect').append('<optgroup label="New group"></optgroup>');
           $('#mySelect optgroup[label=New group]').append('<option value="1">New element</option>');
        } else {
           $('#mySelect optgroup[label=New group]').append('<option value="1">New element</option>');
        }
    });
</script>

在脚本中,if检查是否存在带有标签New group的optgroup,如果没有这样的组 - 添加新组,然后在该组中添加该选项。 else部分,只需在现有的New group中添加选项。

然后你应该对插件应用排序。