检查选择框是否在特定的optgroup中包含字符串

时间:2019-05-22 10:02:30

标签: javascript jquery

我的代码中有一行写着:“如果选择框尚未包含相同的选项,请执行一些操作。”目前,只有在其中没有同名学校的情况下,才会创建“霍格沃茨”选项。

我需要将其变为“如果选择框已经在相同的optgroup下不包含相同的选项 ,则插入新选项。”因此,如果“ Hogsmeade”选择组中已经有一所“ Hogwarts”学校,我不希望再创建第二所。但是,如果洛顿还有另一所“霍格沃茨”学校,我希望它出现在“伦敦”选择组中。

Wed May 22 2019 11:01:18 GMT+0100 (British Summer Time)

1 个答案:

答案 0 :(得分:1)

由于已经引用了optgroup元素,因此可以使用find()来检查其中是否存在具有指定文本的option

$optgroup = $("#schools").find("optgroup[label='" + schoolObject.town + "']");
if ($optgroup.find("option:contains('" + schoolObject.name + "')").length == 0) {
    // Insert new option
}