应该是你把
var index=documentgetElementById("count")selectedIndex;
var count=documentgetElementById("count")options[0]value;
这两句写在了文档的上方吧?也就是说这个select都还没加载进来的时候你就执行了这两条语句,自然就找不到这个标签了。
html里代码的执行是一遍编译一边执行,所以你把取值语句放在上面,赋值语句放在下面,那么它编译完取值语句时就直接执行了,但这时候赋值语句都还没有,自然就找不到这个值。你把它写在方法里之后,如果你调用方法的地方仍然是在select标签上面,那还是会提示找不到的。如果你是在它后面调用那就没有问题。
页面加载时,因为没有任何选中项,所以 secondElementselectedIndex 值是 -1,secondElement
[-1]为undefined,所以alert()会d出 undefined 或 一个空的对话框;
如果你用鼠标选中了“选项9”,secondElementselectedIndex 值是 0,secondElement
[0]为"<option value="选项9">选项9</option>",所以alert()会d出 [object HTMLOptionElement]
把代码做一些修改:
<option value="选项9">选项9</option> 修改为
<option value="选项9" selected>选项9</option>
alert(secondElement[secondElementselectedIndex]); 修改为 alert(secondElement[secondElementselectedIndex]value);
亲,添加select这个元素的时候也给他添加onchange事件的处理函数,最后在添加到body里面,新添加的select元素就会执行那个onchange事件了了,比如
<script type="text/javascript">var oSelect=documentcreateElement('select');
var oBody=documentgetElementsByTagName('body')[0];
//为新建的select的元素添加事件处理函数
oSelectonchange=function()
{
//do somethings
}
//添加select到html的body中
oBodyappendChild(oSelect);
</script>
以上就是关于js 调用函数获取<select>标签值并输出到页面时出现undefined全部的内容,包括:js 调用函数获取<select>标签值并输出到页面时出现undefined、javascript获取select标签下的option的value求解、如何取得写在js内的标签的值我在js里利用innerHTML写了一个select标签。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)