在javascript中通过值NOT INDEX获取所选选项的内部html
Get inner html of the selected option by value NOT INDEX in javascript
我有HTML代码
<select id="city">
<option value="A">Mumbai</option>
<option value="B">Bangalore</option>
<option value="C">Delhi</option>
<option value="D">Indore</option>
</select>
我想要一个JavaScript,用于通过其值获取选项的innerHTML
。
我试过了
var selectedValue = document.getElementById('city').value;
var city = document.querySelector('#city option[value='+selectedValue+']').innerHTML;
alert(city);
但是给出错误
语法错误: 指定了无效或非法的字符串
您可以将querySelector
方法与[value=A]
选择器一起使用:
var city = document.querySelector('#city option[value=A]').innerHTML
JSFiddle
不知道为什么你可能想这样做。纽威斯,这里是:
<select id="city">
<option value="A">Mumbai</option>
<option value="B">Bangalore</option>
<option value="C">Delhi</option>
<option value="D">Indore</option>
</select>
<script>
var city = (document.getElementById('city').innerHTML).split('</option>');
console.log(GetOptionHtml_ByValue('city', 'B'));
function GetOptionHtml_ByValue(xElementId, xValue) {
AllHtml = (document.getElementById('city').innerHTML).split('</option>');
Array1 = [];
Array2 = [];
Array3 = [];
Array4 = [];
FoundIndex = -1;
for (i = 0; i < AllHtml.length; i++) {
str = AllHtml[i];
Array1 = str.split('<option value="');
for (j = 0; j < Array1.length; j++) {
str2 = Array1[j];
Array2 = str2.split('">');
for (k = 0; k < Array2.length; k++) {
str3 = Array2[k];
if ((j==1) && (k==0)) {
Array3.push(str3);
if (str3 == xValue) FoundIndex = Array3.length -1;
}
if ((j==1) && (k==1))
Array4.push(str3);
}
}
}
if (FoundIndex > -1)
returnme = Array4[FoundIndex];
else
returnme = 'NOT_FOUND';
return returnme;
}
</script>
只需使用 options
属性获取所有可用选项,使用 selectedIndex
属性即可知道选择了哪一个选项,并使用所选选项的 innerHTML
属性。
var cityElem = document.getElementById('city');
var selectedIndex = cityElem.selectedIndex;
if(selectedIndex != -1) {
var selectedOption = cityElem.options[selectedIndex];
var optionInnerHtml = selectedOption.innerHTML;
alert(optionInnerHtml);
}
请注意,如果您将 HTML 放在选项元素中,它将忽略 HTML 标签,而只是将文本连接在一起。这必须在 HTML 处理的早期阶段完成,因为当您访问 javascript 中的值时,您只是在访问文本。如果这足够好,那么这个解决方案将起作用,否则你将不得不手动解析select
元素的内部html。
嘟嘟...
相关文章:
- 如何放置'选择'基于angularJS中数据的html选项
- 从动态创建的html选择中选择所选选项
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 如何使新选择的html选项成为页面加载的第一选择
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在Android WebView中通过javascript检测点击HTML选项标记
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 向html选择元素添加选项
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- 如何插入PHP'生成'选项(html选择)
- 通过它在Jquery中的值获取选项 HTML
- 将事件处理程序附加到通过PHP加载的下拉选项html
- 在ie10,9中选择选项(html 5标签)在下一个输入(html 5标签)的位置
- 用Javascript从选项HTML中获取名称
- 从选项html标签中检索值并传递给另一个servlet
- 隐藏和显示列表框选项html/jscript
- 如何使只有一个可选菜单选项html和jquery
- 通过从选项html中选择打开一个新选项卡
- 只刷新一个选择/选项HTML对象
- 选项HTML,改变SelectBox插件的默认结构