我需要设置一个简单的列表框,在按下按钮后在同一页上显示结果。例如,下面的代码显示了每天7天的时间列表。现在,当按下按钮时,我看到一个弹出式弹出,上面写着“**.com的页面: 7-9”。
如果没有弹出,我怎么能在按钮下面显示"7-9“呢?
<script>
function displayResult()
{
var x=document.getElementById("mySelect").selectedIndex;
alert(document.getElementsByTagName("option")[x].value);
}
</script>
</head>
<body>
<form>
Select a day:
<select id="mySelect">
<option value="8-8">Monday</option>
<option value="7-9">Tuesday</option>
<option value="7-9">Wednesday</option>
<option value="7-9">Thursday</option>
<option value="7-10">Friday</option>
<option value="10-10">Saturday</option>
<option value="10-5">Sunday</option>
</select>
</form>
<button type="button" onclick="displayResult()">Display result</button>
http://jsfiddle.net/78NKt/
发布于 2013-10-31 15:25:07
尝试使用insertBefore和function.call将函数内的上下文设置为元素本身的上下文。此外,您还可以使用element.value
获得select的值(更短):
function displayResult() {
var x = document.getElementById("mySelect");
this.parentNode.insertBefore(document.createTextNode(x.value), this.nextSibling);
}
和
<button type="button" onclick="displayResult.call(this)">Display result</button>
演示
https://stackoverflow.com/questions/19710403
复制相似问题