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