繁体   English   中英

获取下拉列表中选定选项的值

[英]Get value of selected option in dropdown

我使用以下代码创建了一个下拉菜单:

// Add priority to form within bottom row div
const formPriority = document.createElement("select");
formPriority.setAttribute("name","project");
formPriority.setAttribute("placeholder","Priority");

const formPriorityClass = document.createAttribute("class");
formPriorityClass.value = "add-item-form-priority";

const priorityOption1 = document.createElement("option");
priorityOption1.value = "Priority 1";
priorityOption1.text = "Priority 1";
formPriority.appendChild(priorityOption1);

const priorityOption2 = document.createElement("option");
priorityOption2.value = "Priority 2";
priorityOption2.text = "Priority 2";
formPriority.appendChild(priorityOption2);

const priorityOption3 = document.createElement("option");
priorityOption3.value = "Priority 3";
priorityOption3.text = "Priority 3";
formPriority.appendChild(priorityOption3);

const priorityOption4 = document.createElement("option");
priorityOption4.value = "Priority 4";
priorityOption4.text = "Priority 4";
formPriority.appendChild(priorityOption4);
addItemNewBottomRowDiv.appendChild(formPriority);

我正在尝试获取所选选项的值,但无法获得它。 这是我目前所在的位置:

let newListItemPriority = document.querySelector(".add-item-form-priority");
let newListItemPrioritySeleted = newListItemPriority.options[newListItemPriority.selectedIndex].value;

我在网上尝试了各种不同的东西,但到目前为止还没有运气。 目前我收到以下错误:

Uncaught TypeError: Cannot read property 'options' of null

如果有人对我如何获得价值有任何想法,将不胜感激。

问题在于您没有使用element.setAttributeNode()add-item-form-priority设置为任何元素的 class 值。 一旦你这样做了,你的代码就可以工作了。

const formPriority = document.createElement("select");
formPriority.setAttribute("name","project");
formPriority.setAttribute("placeholder","Priority");

const formPriorityClass = document.createAttribute("class");
formPriorityClass.value = "add-item-form-priority";
formPriority.setAttributeNode(formPriorityClass);

const priorityOption1 = document.createElement("option");
priorityOption1.value = "Priority 1";
priorityOption1.text = "Priority 1";
formPriority.appendChild(priorityOption1);

const priorityOption2 = document.createElement("option");
priorityOption2.value = "Priority 2";
priorityOption2.text = "Priority 2";
formPriority.appendChild(priorityOption2);

const priorityOption3 = document.createElement("option");
priorityOption3.value = "Priority 3";
priorityOption3.text = "Priority 3";
formPriority.appendChild(priorityOption3);

const priorityOption4 = document.createElement("option");
priorityOption4.value = "Priority 4";
priorityOption4.text = "Priority 4";
formPriority.appendChild(priorityOption4);
addItemNewBottomRowDiv.appendChild(formPriority);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM