js获取select下option中的span的值

竖心旁的情 2017-07-31 03:14:01
<select name="prirel_right" multiple="multiple" style="width: 130px;height: 190px;" size="10" id="prirel_right">
<option><span>XC1232</span><span>2</span></option>
<option><span>XC1233</span><span>3</span></option>
<option><span>XC1233</span><span>4</span></option>
<option><span>XC1233</span><span>5</span></option>
</select>

我想获取每一个option中第一个span的值
...全文
403 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
引用 9 楼 jslang 的回复:
[quote=引用 7 楼 wu_0916 的回复:] [quote=引用 5 楼 u013116426 的回复:] 二楼说的没错 直接取选中的option的text,然后再截取字符串吧!
恩 ,但我的一个span放id,一个span放内容。放id的span要隐藏。[/quote] id既然要隐藏,为什么不放value里? <option value="2">XC1232</option> [/quote] 666~~~~是我傻了,
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
事实证明,不许要两个span。id放在value中,内容放在text中就行。。我沙比了
天际的海浪 2017-07-31
  • 打赏
  • 举报
回复
引用 7 楼 wu_0916 的回复:
[quote=引用 5 楼 u013116426 的回复:] 二楼说的没错 直接取选中的option的text,然后再截取字符串吧!
恩 ,但我的一个span放id,一个span放内容。放id的span要隐藏。[/quote] id既然要隐藏,为什么不放value里? <option value="2">XC1232</option>
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
我放span标签的目的是一个放id,一个放内容。id的span要隐藏。既然option元素中不能放其它的标签,放了也会自动把其它的标签去掉,只保留标签中的文本内容。那我这个方法就没意义了。谢谢各位大神
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
引用 5 楼 u013116426 的回复:
二楼说的没错 直接取选中的option的text,然后再截取字符串吧!
恩 ,但我的一个span放id,一个span放内容。放id的span要隐藏。
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
option元素中不能放其它的标签,放了也会自动把其它的标签去掉,只保留标签中的文本内容
___紫菜 2017-07-31
  • 打赏
  • 举报
回复
二楼说的没错

直接取选中的option的text,然后再截取字符串吧!
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
optionDom.getElementsByTagName('span')[0].innerHTML
var prirelRightId = document.getElementById("prirel_right");
         var prirelRightValues = new Array();
         for (var i = 0; i < prirelRightId.options.length; i++) {
             prirelRightValues[i] = prirelRightId.options[i].getElementsByTagName('span')[0].innerHTML;
             alert( prirelRightValues[i])
         }
我这样取额时候报错
flightDynamics.js:29 Uncaught TypeError: Cannot read property 'innerHTML' of undefined
把innerhtml换成text,value也一样
竖心旁的情 2017-07-31
  • 打赏
  • 举报
回复
引用 楼主 wu_0916 的回复:
<select name="prirel_right" multiple="multiple" style="width: 130px;height: 190px;" size="10" id="prirel_right">
								<option><span>XC1232</span><span>2</span></option>
								<option><span>XC1233</span><span>3</span></option>
								<option><span>XC1233</span><span>4</span></option>
								<option><span>XC1233</span><span>5</span></option>
							</select>
我想获取每一个option中第一个span的值
var prirelRightId = document.getElementById("prirel_right");
		 var prirelRightValues = new Array();
		 for (var i = 0; i < prirelRightId.options.length; i++) {
			 prirelRightValues[i] = prirelRightId.options[i].getElementsByTagName('span')[0].innerHTML;
			 alert( prirelRightValues[i])
		 }
我这样取得时候报错:flightDynamics.js:29 Uncaught TypeError: Cannot read property 'innerHTML' of undefined
天际的海浪 2017-07-31
  • 打赏
  • 举报
回复
option元素中不能放其它的标签,放了也会自动把其它的标签去掉,只保留标签中的文本内容
似梦飞花 2017-07-31
  • 打赏
  • 举报
回复
optionDom.getElementsByTagName('span')[0].innerHTML

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧