从JS中的选择列表中获取值

时间:2013-05-23 16:39:59

标签: javascript asp.net select getelementbyid

我知道这可能是一个非常简单的问题,我试图在网上找到解决方案,但我无法理解...... 我有以下C#/ ASPX代码:

    SelectArea += "<select name=\"Area\" id=\"area\">" + "<option value=\"Default\" style=\"display:none;\">SELECT AREA</option>";
    for (i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        AreaName = ds.Tables[0].Rows[i]["AreaName"].ToString();
        SelectArea += string.Format("<option value=\"{0}\"/>{0}</option>", AreaName);
    }
    SelectArea += "</select>";

提交后发生的这个javascript函数

function validateProfile() {

    var el = document.getElementById("area").value;
    alert(el);
}

我想要一些如何获取列表中所选值的编号。 我尝试使用上面的代码,但它不起作用。

希望得到帮助,谢谢!

3 个答案:

答案 0 :(得分:10)

例如,如果你有

  <select id="myselect">
      <option value="1">value1</option>
      <option value="2" selected="selected">value2</option>
      <option value="3">value3</option>
  </select>

要获得所选选项,请执行以下操作:

  var selects = document.getElementById("myselect");
  var selectedValue = selects.options[selects.selectedIndex].value;// will gives u 2
  var selectedText = selects.options[selects.selectedIndex].text;// gives u value2

示例JsFiddle

答案 1 :(得分:1)

试试这个

var el = document.getElementById("area");
var selectedArea = el.options[el.selectedIndex].value;

答案 2 :(得分:0)

尝试:

var myList = document.getElementById("area");
var selectedValue = myList.options[myList.selectedIndex].value;
var selectedText = myList.options[myList.selectedIndex].text;