javascript获取select标签下的option的value求解?

<selectname="second"size="10"multiple="multiple"class="td3"id="second"><optionvalue="... <select name="second" size="10" multiple="multiple" class="td3" id="second">
<option value="选项9">选项9</option>
</select>
为什么是[object HTMLOptionElement]呢?
var secondElement=document.getElementById("second");
alert(secondElement[secondElement.selectedIndex]);
但是有时候却可以,求解???
我是给一个按钮加事件的,故是先选中某个option,然后点击按钮触发事件。而不是一运行javascript代码就弹出信息框的,因为那样根本就没有选中option的机会
展开
 我来答
山上有花
2014-05-11 · 项目经理,洛阳众智软件科技股份有限公司
山上有花
采纳数:252 获赞数:780

向TA提问 私信TA
展开全部
页面加载时,因为没有任何选中项,所以 secondElement.selectedIndex 值是 -1,secondElement
[-1]为undefined,所以alert()会弹出 undefined 或 一个空的对话框;

如果你用鼠标选中了“选项9”,secondElement.selectedIndex 值是 0,secondElement
[0]为"<option value="选项9">选项9</option>",所以alert()会弹出 [object HTMLOptionElement]

把代码做一些修改:

<option value="选项9">选项9</option> 修改为
<option value="选项9" selected>选项9</option>

alert(secondElement[secondElement.selectedIndex]); 修改为 alert(secondElement[secondElement.selectedIndex].value);
追问
正解,是我大意了
梁洋洋001
2014-05-11 · TA获得超过298个赞
知道小有建树答主
回答量:322
采纳率:53%
帮助的人:167万
展开全部

本来就应该html dom 的option啊,secondElement本身不是节点集合,只是一个select元素节点,但是他有很多子节点,options,这个数组表示的意思不是有一堆select元素选择其中一个,是select的子节点的意思这种写法不符合标准dom写法  因为select和option属性通常是在一起的,后者被认为是前者的一部分,但不是任意的子节点都能这样写的,只有表单对象可以吧

<div id='second'>
     <p></p>
</div>
<script>
       window.onload=function(){
          var secondElement=document.getElementById("second"); 
             alert( secondElement);         
             alert(secondElement[0]);    //这样就不会得到任何对象
       }
      
</script>


<form id='second'>
     <input type='text'/>
</form>
<script>
       window.onload=function(){
          var secondElement=document.getElementById("second"); 
             alert( secondElement);         
             alert(secondElement[0]);    //这样就能得到input对象
       }
      
</script>

 

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式