javascript:如何清除select控件的所有option项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript:如何清除select控件的所有option项相关的知识,希望对你有一定的参考价值。
以下是我的代码,不能删除所有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>
ctrl2.removeChild(ctrl2.options[i]);
这一句,你取得是ctrl2.options.length,当你删除一项的时候,这个数值减一,所以不可能完全删除。
在此基础上的修改是:
for(var i=0;i<ctrl2.options.length;)
ctrl2.removeChild(ctrl2.options[i]);
参考技术A
1、清空select所有option项
document.getElementById("sel1").length=0;2、循环option项,逐个删除
var ctrl2=document.getElementById("id");
for(var i=0;i<ctrl2.options.length;)
ctrl2.removeChild(ctrl2.options[i]);
参考技术B ddl.options.clear;//ddl名称
Javascript 操作select控件
新增、修改、删除、选中、清空、判断存在等
1、判断select选项中 是否存在Value=”paraValue”的Item
function jsselectisexititem(objselect,objitemvalue) { var isexit = false; for(var i=0;i<objselect.options.length;i++) { if(objselect.options[i].value == objitemvalue) { isexit = true; break; } } return isexit; }
2、向select选项中加入一个Item
function jsadditemtoselect(objselect,objitemtext,objitemvalue) { //判断是否存在 if(jsselectisexititem(objselect,objitemvalue)) { alert("该item的value值已经存在"); } else { var varitem = new option(objitemtext,objitemvalue); // objselect.options[objselect.options.length] = varitem; objselect.options.add(varitem); alert("成功加入"); } }
3、从select选项中删除一个Item
function jsremoveitemfromselect(objselect,objitemvalue) { //判断是否存在 if(jsselectisexititem(objselect,objitemvalue)) { for(var i=0;i<objselect.options.length;i++) { if(objselect.options[i].value == objitemvalue) { objselect.options.remove(i); break; } } alert("成功删除"); } else { alert("该select中 不存在该项"); } }
4、删除select中选中的项
function?jsRemoveSelectedItemFromSelect(objSelect)
{? ?var?length?=?objSelect.options.length?-?1;??? for(var?i?=?length;?i?>=?0;?i—){?????? ? ?if(objSelect[i].selected?==?true){?? ? objSelect.options[i]?=?null;?? } } }
5、修改select选项中 value=”paraValue”的text为”paraText”
function jsupdateitemtoselect(objselect,objitemtext,objitemvalue) { //判断是否存在 if(jsselectisexititem(objselect,objitemvalue)) { for(var i=0;i<objselect.options.length;i++) { if(objselect.options[i].value == objitemvalue) { objselect.options[i].text = objitemtext; break; } } alert("成功修改"); } else { alert("该select中 不存在该项"); } }
6、设置select中text=”paraText”的第一个Item为选中
function jsselectitembyvalue(objselect,objitemtext) { //判断是否存在 var isexit = false; for(var i=0;i<objselect.options.length;i++) { if(objselect.options[i].text == objitemtext) { objselect.options[i].selected = true; isexit = true; break; } } //show出结果 if(isexit) { alert("成功选中"); } else { alert("该select中 不存在该项"); } }
7、设置select中value=”paraValue”的Item为选中
document.all.objSelect.value = objItemValue;
8、得到select的当前选中项的value
var currSelectValue = document.all.objSelect.value;
9、得到select的当前选中项的text
var currselecttext = document.all.objselect.options[document.all.objselect.selectedindex].text;
10、得到select的当前选中项的Index
var currSelectIndex = document.all.objSelect.selectedIndex;
11、清空select的项
document.all.objSelect.options.length =0;
以上是关于javascript:如何清除select控件的所有option项的主要内容,如果未能解决你的问题,请参考以下文章