몇일 전에 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용으로 제작했다. 나중에 언제쯤 수정할 수 있을지...


Posted by killofki
,