开发者问题收集

使用 JavaScript 从 html 选择标签中提取值

2017-01-24
6625

我从代码中获取了整个 select 标签作为值,为了解决这个问题,我需要从 select 标签中提取值,因为这个标签是由代码动态创建的。

下面是我得到的值。如何使用 java 脚本提取它。谢谢您的帮助。

rowId[0].QValue = "<select id="Type112" class="GridList" rownumber="0" value="Q1 Only" ><option></option><option value="1" selected="selected">Q1 Only</option><option value="2">Q2 Only</option></select>"
3个回答

正确的做法是使用选择函数之一从 DOM 中选择元素。在本例中,我更喜欢 document.querySelector

var type112 = document.querySelector('#type112');

# 表示“id”,您可以将任何有效 CSS 组合传递给 document.querySelector

然后,要生成此元素的值,只需调用

type112.value

这将为您提供 select 元素中当前选定的 option 的文本值。

根据您的评论,我感觉您可能拥有元素的文本并想解析出 id?如果是这种情况,您可以尝试:

var elemString = // whatever your str is
var id = (elemString.match(/id="([^"]+)"/) || [])[0];

这假设 id 是字符串中的第一个属性,以及一系列其他可能在生产中中断但在缺乏对您要做的事情的连贯理解的情况下会起作用的东西。

furkle
2017-01-24

您可以简单地使用选择元素 id 来检索元素的值。

<select id="Type112" class="GridList" rownumber="0" value="Q1 Only" ><option></option><option value="1" selected="selected">Q1 Only</option><option value="2">Q2 Only</option></select>

您可以编写 javascript 通过 id Type112​​ 获取元素 依此类推来获取值:

var s = document.getElementById("Type112");
var selNum = s.options[s.selectedIndex].value;
alert(selNum);

这是一个 jsfiddle 示例

Ani
2017-01-24

尝试一下。

var list = document.getElementById("Type112");
console.log(list.value)
<select id="Type112" class="GridList" rownumber="0" value="Q1 Only" ><option></option><option value="1" selected="selected">Q1 Only</option><option value="2">Q2 Only</option></select>
Piyush
2017-01-24