options.item( i ) は、options[i] とする事もできます
<SCRIPT type="text/javascript"> function resetCombo() { var combo = document.frm.combo; var options = combo.getElementsByTagName("OPTION"); var len = options.length; for( i = len-1; i >= 0; i-- ) { combo.removeChild( options.item( i ) ); } } </SCRIPT> <FORM name="frm"> <SELECT name="combo" style='width:150px;'> <OPTION value="1">データ1</OPTION> <OPTION value="2">データ2</OPTION> <OPTION value="3">データ3</OPTION> <OPTION value="4">データ4</OPTION> </SELECT> </FORM> <INPUT type="button" value="全て削除" onclick='resetCombo();'>
削除を最後から行っているのは、削除するたびにオブジェクト内のリスト が更新されるので、前から削除できないからです。前から削除するには、 自分で配列に保存しておく必要があります
<SCRIPT type="text/javascript"> function resetCombo() { var combo = document.frm.combo; var options = combo.getElementsByTagName("OPTION"); var len = options.length; var save = []; for( i = 0; i < len; i++ ) { save[i] = options.item( i ); } for( i = 0; i < len; i++ ) { combo.removeChild( save[i] ); } } </SCRIPT> <FORM name="frm"> <SELECT name="combo" style='width:150px;'> <OPTION value="1">データ1</OPTION> <OPTION value="2">データ2</OPTION> <OPTION value="3">データ3</OPTION> <OPTION value="4">データ4</OPTION> </SELECT> </FORM> <INPUT type="button" value="全て削除" onclick='resetCombo();'>
|