HTML部分如下所示:
<select class="ue-select-box box-model" name="metric-name">
<option value="1" selected>Logins (including from CRM)</option>
<option value="2">Listened to a Call (including from CRM)</option>
<option value="15">Set up a New Report/Edited a Report</option>
<cfif session.accountId NEQ 5>
<option value="13">Staff Activity - Deactivate</option>
</cfif>
</select>
提前感谢您的帮助。
答案 0 :(得分:1)
1。第一个问题是我可以用什么来检查这个选项是否存在?我知道有一个方法(myfile.getElementsByTagName(“”)),但在我的情况下,我有很多标签,其标签名称为“选项”。
您可以使用document.querySelector
查找任何有效CSS选择器的第一个匹配元素。如果找到则返回元素实例,如果未找到则返回null
。例如,根据您对HTML的显示,您可以这样做:
if (document.querySelector('select[name="metric-name"] option[value="13"]')) {
// Yes, it's there
} else {
// No, it's not
}
2。如果有一种方法可以检查该选项是否存在,那么它是否会在这种情况下工作,因为我的选项在页面上,即使只有当sessionId来自session时不显示
根据cfif
我可以找到的内容,如果条件为真,option
将不会在浏览器中的呈现页面上。所以上面会有效。
没有option
的示例:
if (document.querySelector('select[name="metric-name"] option[value="13"]')) {
console.log("Yes, it's there");
} else {
console.log("No, it's not there");
}
<select class="ue-select-box box-model" name="metric-name">
<option value="1" selected>Logins (including from CRM)</option>
<option value="2">Listened to a Call (including from CRM)</option>
<option value="15">Set up a New Report/Edited a Report</option>
</select>
示例 option
:
if (document.querySelector('select[name="metric-name"] option[value="13"]')) {
console.log("Yes, it's there");
} else {
console.log("No, it's not there");
}
<select class="ue-select-box box-model" name="metric-name">
<option value="1" selected>Logins (including from CRM)</option>
<option value="2">Listened to a Call (including from CRM)</option>
<option value="15">Set up a New Report/Edited a Report</option>
<option value="13">Staff Activity - Deactivate</option>
</select>