添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何使用 JavaScript 从下拉列表中获取选定的值?

我尝试了以下方法,但它们都返回选定的索引而不是值:

var e = document.getElementById(“ddlViewBy”); function show(){ var as = document.forms[0].ddlViewBy.value; var strUser = e.options[e.selectedIndex].value; console.log(as, strUser); } e.οnchange=显示;节目(); test1 test2 测试3

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

如果您有一个如下所示的选择元素:

test1 test2 test3

运行此代码:

var e = document.getElementById("ddlViewBy");
var strUser = e.value;

将使 strUser 成为 2。如果您真正想要的是 test2,请执行以下操作:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].text;

这将使 strUser 成为 test2

var strUser = e.options[e.selectedIndex].value; 为什么不只是var strUser = e.value ?

@TheRedPea-也许是因为在编写此答案时,有可能(无论多么遥远)需要适应旧版本的 Netscape Navigator,因此使用了一种同样古老的方法来访问单个选择的值。但我只是猜测。 ;-)

我是这样使用的:var e = document.getElementById("ddlViewBy").value;

应该是 e.target.options[e.target.selectedIndex].text 不知道为什么这里的所有答案都错了..

@OZZIE - 查看 OP 问题中以 var e 开头的赋值语句。虽然 e(或 event)表示 eventObject 是惯例,但此处 OP 使用它来表示元素。

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

纯 JavaScript:

var e = document.getElementById("elementId");
var value = e.options[e.selectedIndex].value;
var text = e.options[e.selectedIndex].text;

jQuery:

$("#elementId :selected").text(); // The text content of the selected option
$("#elementId").val(); // The value of the selected option

AngularJS:(http://jsfiddle.net/qk5wwyct):

// HTML
Text: {{selectItem.text}}
Value: {{selectItem.value}}
// JavaScript
$scope.items = [{
  value: 'item_1_id',
  text: 'Item 1'
}, {
  value: 'item_2_id',
  text: 'Item 2'
}];

我一定是做错了什么,因为当我尝试这个时,我会在下拉菜单中取回每个选项的文本。

这确实以不同的方式对我有用。 $("#ddlViewBy :selected").val() 不是没有选中

element.options[e.selectedIndex].value 必须是 element.options[element.selectedIndex].value

仍然有用 - 感谢您写出变体/语言!现在,如果我只知道 Office JS API Dropdown 的等效项...

它在 jQuery 中也适用于我,只需放置 $("#elementId").val() 而无需提及 selected

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

var strUser = e.options[e.selectedIndex].value;

这是正确的,应该给你价值。是你要的文字吗?

var strUser = e.options[e.selectedIndex].text;

所以你对术语很清楚:

Hello World

此选项具有:

索引 = 0

价值=你好

文本 = 你好世界

我认为 javascript 中的“.value”应该为我返回值,但只有“.text”会返回 asp.net 中的 .SelectedValue 返回的值。感谢您提供的示例!

是的 - 使选项的价值与它的价值相同。更简单 - 上面的人需要编写更多代码来弥补他最初的模糊性。

应该是 e.target.options[e.target.selectedIndex].text 不知道为什么这里的所有答案都错了..

huntsbot.com聚合了超过10+全球外包任务平台的外包需求,寻找外包任务与机会变的简单与高效。

以下代码展示了与使用 JavaScript 从输入/选择字段中获取/放置值相关的各种示例。

Source Link

工作Javascript & jQuery Demo

https://i.stack.imgur.com/8LJas.jpg

https://i.stack.imgur.com/GnfKD.jpg

Select text1 text2 text3 TextBox1 TextBox2

以下脚本获取所选选项的值并将其放入文本框 1

function run() { document.getElementById("srt").value = document.getElementById("Ultra").value;

以下脚本从文本框 2 中获取一个值并使用其值发出警报

function up() { //if (document.getElementById("srt").value != "") { var dop = document.getElementById("srt").value; alert(dop);

以下脚本正在从函数调用函数

function up() { var dop = document.getElementById("srt").value; pop(dop); // Calling function pop function pop(val) { alert(val);

onchange=run(this.value) 或 (this.text) 可能更有益。

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

var selectedValue = document.getElementById("ddlViewBy").value;

这是最简单的解决方案,至少对于现代浏览器而言。另见W3Schools。

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

如果您曾经遇到过纯粹为 Internet Explorer 编写的代码,您可能会看到:

var e = document.getElementById("ddlViewBy");
var strUser = e.options(e.selectedIndex).value;

在 Firefox 等中运行上面的代码会给你一个“不是函数”的错误,因为 Internet Explorer 允许你使用 () 而不是 []:

var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;

正确的方法是使用方括号。

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

Select text1 text2 text3

当您从元素内部访问它时,任何输入/表单字段都可以使用“this”关键字。这消除了在 dom 树中定位表单然后在表单中定位该元素的需要。

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

有两种方法可以使用 JavaScript 或 jQuery 完成此操作。

JavaScript:

var getValue = document.getElementById('ddlViewBy').selectedOptions[0].value;
alert (getValue); // This will output the value selected.
var ddlViewBy = document.getElementById('ddlViewBy');
var value = ddlViewBy.options[ddlViewBy.selectedIndex].value;
var text = ddlViewBy.options[ddlViewBy.selectedIndex].text;
alert (value); // This will output the value selected
alert (text); // This will output the text of the value selected

jQuery:

$("#ddlViewBy:selected").text(); // Text of the selected value
$("#ddlViewBy").val(); // Outputs the value of the ID in 'ddlViewBy'

工作得很好。非常感谢。

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

初学者可能希望从带有 NAME 属性而不是 ID 属性的选择中访问值。我们知道所有表单元素都需要名称,甚至在它们获得 id 之前。

因此,我添加了 getElementsByName() 解决方案,仅供新开发人员查看。

注意。表单元素的名称必须是唯一的,这样您的表单才能在发布后使用,但 DOM 可以允许多个元素共享一个名称。因此,如果可以,请考虑向表单添加 ID,或者使用表单元素名称 my_nth_select_named_x 和 my_nth_text_input_named_y 明确。

使用 getElementsByName 的示例:

var e = document.getElementsByName("my_select_with_name_ddlViewBy")[0];
var strUser = e.options[e.selectedIndex].value;

如果 my_select_with_name_ddlViewBy 是类似 my_select_with_name_ddlViewBy[] 的数组,则不起作用

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

$(‘#SelectBoxId option:selected’).text();获取列出的文本

$(‘#SelectBoxId’).val();用于获取选定的索引值

这使用 jQuery,它不回答 OP 的问题。

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

我不知道我是不是没有正确回答问题的人,但这对我有用:在您的 HTML 中使用 onchange() 事件,例如。

Three

//javascript

function selectNum(){
    var strUser = document.getElementById("numberToSelect").value;

这将为您提供每次点击选择下拉列表中的任何值

原文链接:https://www.huntsbot.com/qa/1j0j/get-selected-value-in-dropdown-list-using-javascript?lang=zh_CN&from=csdn

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

如何使用 JavaScript 从下拉列表中获取选定的值?我尝试了以下方法,但它们都返回选定的索引而不是值:var e = document.getElementById("ddlViewBy"); function show(){ var as = document.forms[0].ddlViewBy.value; var strUser = e.options[e.selectedIndex].value; console.log(as, strUser); } e.onchange=显示 <select id="test" name=""> <option value="1">text1</option> <option value="2">text2</option> </select> code: 一:javas...
有两种方法可以获取下拉列表的value下拉列表的value就是选项的value,若没有选,则默认为第一项。 $("selectId").val(); $("selectId option:selected").val();两种方法都可以,但是有时候受框架影响,可能第一种方法不可用,推荐第二种,“==”和“equal”也是同样的道理。
转自:http://www.cnblogs.com/davidgu/archive/2009/07/10/1520562.htmlhtml标准下拉框很常用,经常有这样的需求在下拉框改变的时候我们需要获取它的文本或。 初学JS的朋友经常会把它的和文本搞错,把两者混为一谈。 有的时候还会歪打正着,因为经常我们的就是我们的文本,但是实际它们是不同的东西。 下面我们来举个例子。
下拉框一般都是单选的, 所以直接通过document.querySelector('select').value就可以知道选了. 如果只是想判断是否有选的话还可以通过document.querySelector('select').selectedIndex, 这个属性是一个数字,表明第一个被选的索引, 所以如果返回为-1说明没有option被选. 如果select添加了multiple属性, 那么可以通过Shift或Ctrl像操作文件一样操作select的选项来多选. 获取多选下拉框
如果你有一个 JavaScript 列表(也被称为数组),其的每个元素都是一个字典对象,并且想要获取每个字典对象特定键的,你可以使用以下代码: ```javascript let list = [{a: 1, b: 2}, {a: 3, b: 4}, {a: 5, b: 6}]; let valuesList = list.map(obj => obj.a); console.log(valuesList); // [1, 3, 5] 在这个例子,我们创建了一个包含三个字典对象的列表。我们使用 `map()` 方法遍历列表的每个字典对象,并使用箭头函数语法获取每个字典对象键为 `"a"` 的。最后,我们将结果存储在一个列表,并使用 `console.log()` 方法将列表打印到控制台。