javascript:如何清除select控件的所有option项

以下是我的代码,不能删除所有option项,但是我好像又没有错<html><head><script>varop1=newArray("豫园","长风公园");varop... 以下是我的代码,不能删除所有option项,但是我好像又没有错

<html>
<head>
<script>
var op1=new Array("豫园","长风公园");
var op2=new Array("天安门","颐和园");
function ss()
{

var ctrl1=document.getElementById("sel1");
var ctrl2=document.getElementById("sel2");
var gtext=ctrl1.options[ctrl1.selectedIndex].text;

if(gtext=="上海")
{
var op=op1;
}
else if(gtext=="北京")
{
var op=op2;
}
alert(ctrl2.options.length);
for(var i=0;i<ctrl2.options.length;i++)
{
ctrl2.removeChild(ctrl2.options[i]);
}

for(var i=0;i<op.length;i++)
{
var opt=document.createElement("option");
var textnode=document.createTextNode(op[i]);
opt.appendChild(textnode);
ctrl2.appendChild(opt);
}
}
</script>
</head>
<body>
<select id="sel1" onchange="ss()">
<option>上海</option>
<option>北京</option>
</select>
<select id="sel2">
</select>
</body>
</html>
展开
 我来答
谈指菩提
推荐于2018-02-27 · TA获得超过2405个赞
知道大有可为答主
回答量:1073
采纳率:0%
帮助的人:1850万
展开全部
for(var i=0;i<ctrl2.options.length;i++)
{
ctrl2.removeChild(ctrl2.options[i]);
}
这一句,你取得是ctrl2.options.length,当你删除一项的时候,这个数值减一,所以不可能完全删除。
在此基础上的修改是:
for(var i=0;i<ctrl2.options.length;)
{
ctrl2.removeChild(ctrl2.options[i]);
}
Baby_原來
推荐于2016-02-19 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:483万
展开全部

1、清空select所有option项

document.getElementById("sel1").length=0;

2、循环option项,逐个删除

function clearn(){
    var ctrl2=document.getElementById("id");
    for(var i=0;i<ctrl2.options.length;) 
    { 
        ctrl2.removeChild(ctrl2.options[i]); 
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tian_star2008
2008-05-20 · 超过18用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:113万
展开全部
ddl.options.clear;//ddl名称
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式