日期:2014-05-16  浏览次数:20331 次

js 删除select中的所有option

方法一:

function DeleteOptions()
    {
        var obj = document.getElementsByTagName("select")[0];
        var selectOptions = obj.options;
        var optionLength = selectOptions.length;
        for(var i=0;i <optionLength;i++)
        {
            obj.removeChild(selectOptions[0]);
        }
    }

?

方法二:(那右边的Select中的所有option移到左边的Select)

?
function MoveAllRightBtn(){
		var columnlength=$('queryColumn').length;
		var TempText;
        var TempValue;
		for(var i=0;i<columnlength;i++){
			TempText=$('queryColumn').options[i].text;
        	TempValue=$('queryColumn').options[i].value;
        	$('queryColumn').remove(i);
        	$('SearchqqueryColumn').options.add(new Option(TempText,TempValue));
		}
	}

?以上两个方法都不够好!因为它们一次性都册除不了,因为删除了一个它的$('queryColumn')在option的序号就变了!

都好的方法是:

$('SearchqqueryColumn').options.length = 0;

?或:

<script>
function clearOption()
{
    document.getElementById("testSelect").options.length = 0;
}
</script> 

?(那右边的Select中的所有option移到左边的Select)实现如下:

function MoveAllRightBtn(){
		var columnlength=$('queryColumn').options.length;
		var TempText;
        var TempValue;
		for(var i=0;i<columnlength;i++){
			TempText=$('queryColumn').options[i].text;
        	TempValue=$('queryColumn').options[i].value;
        	$('SearchqqueryColumn').options.add(new Option(TempText,TempValue));
		}
		$('queryColumn').options.length = 0;
	}
?