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

时间:2014-08-20 09:57:26

标签: javascript forms loops

我正在研究一些循环选择下拉菜单的代码,以确保选择正确的值。作为其中的一部分,我需要返回选择的名称和所选选项的文本,如下所示:

var elements = document.getElementsByTagName("select");

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

返回姓名,但文字未定义&#39;。我也尝试过使用elements[i].text,但结果相同。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

使用此代码获取所选文字

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

之后,将其添加到&#39; answers_email&#39;元素:

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

答案 1 :(得分:0)

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

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;
}