我的代码中有一行写着:“如果选择框尚未包含相同的选项,请执行一些操作。”目前,只有在其中没有同名学校的情况下,才会创建“霍格沃茨”选项。
我需要将其变为“如果选择框已经在相同的optgroup下不包含相同的选项 ,则插入新选项。”因此,如果“ Hogsmeade”选择组中已经有一所“ Hogwarts”学校,我不希望再创建第二所。但是,如果洛顿还有另一所“霍格沃茨”学校,我希望它出现在“伦敦”选择组中。
Wed May 22 2019 11:01:18 GMT+0100 (British Summer Time)
答案 0 :(得分:1)
由于已经引用了optgroup
元素,因此可以使用find()
来检查其中是否存在具有指定文本的option
:
$optgroup = $("#schools").find("optgroup[label='" + schoolObject.town + "']");
if ($optgroup.find("option:contains('" + schoolObject.name + "')").length == 0) {
// Insert new option
}