몇일 전에 select & option 에 관련한 이야기(?)를 적어놨는데,
이번에는 그 수정버전이랄까...
...
<script>
var inputNumber=0;
function addInput(inputor) {
var i, inputText=inputor.value;
if (event.keyCode!=13) return;
if (inputText=='') return;
with(inputTarget.options) {
for (i=0; i<length; i++) if (options[i].text==inputText) break;
if (i>=length) options.add(new Option(inputText, ++inputNumber), 0);
else {
options.add(new Option(options[i].text, options[i].value), 0);
options.remove(i+1);
}
}
inputor.value='';
}
</script>
<input onkeypress=addInput(this);><br>
<select name=inputTarget size=2 style="width:200px; height:100px; overflow:auto;"></select>
...
...
새 값의 경우, Array 값을 쓰는 대신 inputNumber 라는 것을 지정해서 option 에 적용하고,
헌(?) 값의 경우, 일단 꼭대기로 옮기면서 기존 값을 삭제하는 방법.
처음엔
temp=options[i];
add(...);
temp.remove();
형식으로 해봤는데
option ( 아마도 options[i] ) 에 remove 함수가 직접 적용되지 않았다...
그래서 options 에 있는 remove 함수를 적용해본 것.
약간 머리를 써보면(?)
select 에 있는 내용들도 text 입력때처럼 적용이 가능하다.
... 개인적으로는 text 값 비교하는 것 보다는 value 값 비교하는 것을 좋아하다보니...
Now Mark killofki@.
ps... IE용으로 제작했다. 나중에 언제쯤 수정할 수 있을지...
'baseJavascript' 카테고리의 다른 글
function] 함수내 arguments 변화확인 (0) | 2010.04.27 |
---|---|
Array] with() (null)[] 의 효과는 의미없음...?이 아니었다. (0) | 2010.04.23 |
select & option] 옵션을 추가/삭제할 때... (버그 포함) (0) | 2010.04.16 |
IE] 한 폴더 내에서 수정한 파일(이미지/스크립트)을 연동해서 보고싶을 때 "다른 이름으로 저장" (0) | 2010.03.06 |
delete 가 실제 메모리에 적용되는 타이밍 (IE 8) (0) | 2010.03.03 |