【问题标题】:Get value from select list in JS从JS中的选择列表中获取值
【发布时间】:2013-05-24 01:48:30
【问题描述】:

我知道这可能是一个非常简单的问题,我试图在网上找到解决方案,但我想不通...... 我有以下 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);
}

我想要一些如何获取列表中选定值的编号。 上面的代码我试过了,但是不行。

希望得到帮助,谢谢!

【问题讨论】:

  • 我只是好奇。有理由不使用 DropDownList 服务器控件吗?
  • 嗨,是的,你说得对,最好使用 DropDownList 服务器控件但是在这项工作中,有特定的要求这样做。
  • 微不足道,但您可以使用单引号:"&lt;select name='Area' id='area'&gt;&lt;option value='Default' style='display:none;'&gt;SELECT AREA&lt;/option&gt;"; 表示该字符串
  • 谢谢,好建议(之前不知道这个;),但是有人知道如何解决这个问题吗??

标签: javascript asp.net select getelementbyid


【解决方案1】:

例如,如果你有

  <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

【讨论】:

  • 您好,谢谢,但在您的 JS 代码中我收到此错误消息“无法读取未定义的属性 'undefined'”,为什么?
  • 想要轻松做到这一点的人只需这样做let value = document.querySelector('#myselect').value;
【解决方案2】:

试试这个

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

【讨论】:

  • 感谢位它得到了未定义的值,为什么?
  • @NaveTseva:el.selectedIndex 的值是多少?
【解决方案3】:

试试:

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

【讨论】:

  • 嗨,谢谢,但我收到错误消息:无法读取未定义的属性“未定义”,为什么?
  • 您是否将代码放入 window.onload 事件中:window.onload = function() { var myList = document.getElementById("area"); var selectedValue =myList.options[myList.selectedIndex].value; var selectedText =myList.options[myList.selectedIndex].text;警报(选定文本);使用此 html 代码:
  • 现在,我没有将 javascript 放在 Window onload 事件中
猜你喜欢
  • 2022-11-24
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2021-12-20
  • 2017-10-21
  • 1970-01-01
  • 2023-03-09
相关资源
最近更新 更多