Javascript和Forms获得选择值的选项

时间:2011-07-31 22:16:07

标签: javascript

如何使用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>

2 个答案:

答案 0 :(得分:2)

为您的选择添加ID:

<select name="team" id="team">

然后做

document.getElementById("team").value

这将返回TENGB

答案 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 '';
  }
}