我正在尝试添加由另一个开发人员创建的现有脚本。目的是在某些情况下从下拉列表中显示项目并隐藏在其他实例中。我添加了一些代码,我意识到我被告知我想要选择的东西不存在。这是我跑的?
var menuNav = document.getElementById("Dir_Drop");
var MenuVal = menuNav.options[menuNav.selectedIndex].value;
menuNav.options["member"].show();
HTML:
<div id="dir-dropdown" >
<select id="Dir_Drop">
<option value="">-- Navigate Here --</option>
<?php if ($pageOrg->getShowTabsMembers() == "1"){ ?>
<option value="member" onchange="return ClearPrintQueue();">Members</option>
<?php } ?>
<?php if ($pageOrg->getShowTabsFamilies() == "1"){ ?>
<option value="family" onchange="return ClearPrintQueue();">Families</option>
<?php } ?>
<?php if ($pageOrg->getShowTabsGroups() == "1"){ ?>
<option value="group" onchange="return ClearPrintQueue();">Groups</option>
<?php } ?>
<?php if ($pageOrg->getShowTabsChurchStaff() == "1"){ ?>
<option value="staff" onchange="return ClearPrintQueue();">Church Staff</option>
<?php } ?>
</select>
我在firefox中看到的错误是:“TypeError:menuNav.options.family is undefined”
我非常感谢有关解决这个问题的任何意见。
答案 0 :(得分:1)
options
需要index
- 不是当前文字。您将必须迭代并找到当前文本,如下所示:
for (var i = 0; i < menuNav.options.length; i++) {
if (menuNav.options[i].text == "Members") {
//found the index with text "Members" -- do logic
}
}