试图返回选项文本而不是值作为循环的一部分

Attempting to return option text rather than value as part of loop

本文关键字:循环 一部分 返回 选项 文本      更新时间:2023-09-26

我正在编写一些代码,通过选择下拉框来确保选择正确的值。作为其中的一部分,我需要返回所选选项的名称和所选选项的文本,如下所示:

var elements = document.getElementsByTagName("select");
for(i=0; i < elements.length ; i++){
total_fields += Number(elements[i].value);
document.getElementById("answerswers_email").value+=elements[i].name +"-"+elements[i].selectedIndex.text;
}

返回名称,但文本为"未定义"。我也尝试过使用elements[i].text,但它产生相同的结果。

使用下面的代码获取选定的文本

var index = elements[i].selectedIndex;
var text  = elements[i].options[index].text;

之后,将其添加到您的'answers_email'元素:

document.getElementById("answerswers_email").value += 
elements[i].name+"-"+text;

您必须使用selectedIndex访问options数组内的选定选项对象,然后获取其文本。

var elements = document.getElementsByTagName("select");
for(i=0; i < elements.length ; i++){
    var current_select = elements[i];
    var selected_text = current_select.options[current_select.selectedIndex].text;
}
相关文章: