下面是我写的一段JS代码,作用是点击按钮后把DropDown里面的项写出来,可是为什么只写出第一个就中止了呢?<html>
<head>
<script type="text/javascript">
function getOptions()
{
var x=document.getElementById("mySelect");
for (i=0;i<x.length;i++)
{
document.write(x.options[i].text)
}
}
</script>
</head>
<body><form>
Select your favorite fruit:
<select id="mySelect">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select>
<br /><br />
<input type="button" onclick="getOptions()" value="Output all options">
</form></body>
</html>下面是我改写的程序,是可以输出的:
<html>
<head>
<script type="text/javascript">
function getOptions()
{
var x=document.getElementById("mySelect");
var list=""
for (i=0;i<x.length;i++)
{
alert(x.options[i].text)
//document.write(x.options[i].text) //这句话怎么就不能循环呢?
list=list+x.options[i].text+","
}
var splitlist=list.split(",")
for(j=0;j<splitlist.length;j++)
{
document.write(splitlist[j]) //这里就可以循环,为什么上面那里不可以?
}
}
</script>
</head>
<body><form>
Select your favorite fruit:
<select id="mySelect">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select>
<br /><br />
<input type="button" onclick="getOptions()" value="Output all options">
</form></body>
</html>JS高手指点!·····················
<head>
<script type="text/javascript">
function getOptions()
{
var x=document.getElementById("mySelect");
for (i=0;i<x.length;i++)
{
document.write(x.options[i].text)
}
}
</script>
</head>
<body><form>
Select your favorite fruit:
<select id="mySelect">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select>
<br /><br />
<input type="button" onclick="getOptions()" value="Output all options">
</form></body>
</html>下面是我改写的程序,是可以输出的:
<html>
<head>
<script type="text/javascript">
function getOptions()
{
var x=document.getElementById("mySelect");
var list=""
for (i=0;i<x.length;i++)
{
alert(x.options[i].text)
//document.write(x.options[i].text) //这句话怎么就不能循环呢?
list=list+x.options[i].text+","
}
var splitlist=list.split(",")
for(j=0;j<splitlist.length;j++)
{
document.write(splitlist[j]) //这里就可以循环,为什么上面那里不可以?
}
}
</script>
</head>
<body><form>
Select your favorite fruit:
<select id="mySelect">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select>
<br /><br />
<input type="button" onclick="getOptions()" value="Output all options">
</form></body>
</html>JS高手指点!·····················
解决方案 »
- 数据库取数据时怎么才能只取前10列的值
- 中国 美国 2个服务器 通过同一域名智能解析 国内访问中国的服务器 国外访问美国的 最好的解决方案是什么?
- 查询结果怎么绑定 ?让显示出来?
- 有实际经验的进来!两套系统共用其中一套系统中的帐户可行吗,用什么方案可以实现?LDAP可以实现吗?
- 如何通过表单查询数据库来验证是否是注册用户!
- SQL语句中可不可以使用“IDataParameter[]”
- 删除文件出现:Server Application Unavailable的错误?
- 大家都来看看,这个问题该如何解决?
- Post的问题
- 请问怎样在datagrid中加入下拉菜单?
- |M| Post学习 接收页面接收不到
- 请问如何防止用户直接输入URL来访问某些敏感页面?
打印完会终止的
所以只显示第一个啊
for(j=0;j<splitlist.length;j++)
{
document.write(splitlist[j]) //这里就可以循环,为什么上面那里不可以?
}
{
list=list+x.options[i].text+","
document.write(x.options[i].text) //这样看下行否
}
不信的话,你可以在document.write后面尝试alert(x)看看
<head>
<script type="text/javascript">
function getOptions()
{
var x=document.getElementById("mySelect");
msg.innerHTML = "";
for (i=0;i<x.length;i++)
{
//document.write(x.options[i].text);
msg.innerHTML += x.options[i].text;
}
}
</script>
</head>
<body><form>
Select your favorite fruit:
<select id="mySelect">
<option>Apple</option>
<option>Orange</option>
<option>Pineapple</option>
<option>Banana</option>
</select><br /><br />
<input type="button" onclick="getOptions()" value="Output all options">
<div id="msg"></div>
</form></body>
</html>