如何使用Javascript获取此表单选择中的选项值?
我知道我可以使用:
document.customerInfo.cardType.selectedIndex == 4
但这对我不起作用。我有超过30岁,我真的不想编码那么多。无论如何我可以获得期权的价值吗?
<form id="teamSelect"><select name="team">
<option value="TEN">Tennessee</option>
<option value="GB">Green Bay</option>
</select>
<input type="button" value="submit" onclick="games();"/>
</form>
答案 0 :(得分:2)
为您的选择添加ID:
<select name="team" id="team">
然后做
document.getElementById("team").value
这将返回TEN
,GB
等
答案 1 :(得分:0)
获取对表单的引用:
var form = document.getElementById('teamSelect');
或
var form = document.forms['teamSelect']
或者如果表单的名称与其id相同:
var form = document.teamSelect;
然后遍历其元素集合:
var elements = form.elements;
for (var i=0, iLen=elements.length; i<iLen; i++ ) {
// elements[i] is a form control, get its value and
// do whatever
}
请注意,对于select元素,该值是当前所选选项的值。
虽然一个选项假设总是被选中(即一个选项应该具有所选属性,因此它是默认选择的选项),在许多情况下会被省略并且select可能没有被选中选项。在这种情况下,其 selectedIndex 属性将为-1。
另请注意,所选选项的值应该是 value 属性的值,如果缺少,则为text属性的值(选项的文本)。但是IE会出错,如果没有value属性,则返回一个空字符串。因此,要获得选择的值,您需要执行以下操作:
function getSelectValue(select) {
var idx = select.selectedIndex;
// If one has been selected, return its value or text
if (idx >=0) {
return select.options[idx].value || select.options[idx].text
// Otherwise none are selected - return empty string?
} else {
return '';
}
}