[javascript] 드롭 다운 상자에서 모든 옵션을 지우려면 어떻게합니까?

내 코드는 IE에서는 작동하지만 Safari, Firefox 및 Opera에서는 작동하지 않습니다. (큰 놀라움)

document.getElementById("DropList").options.length=0;

검색 한 후, length=0그것이 마음에 들지 않는다는 것을 알게되었습니다 .
나는 해봤 ...options=nullvar clear=0; ...length=clear같은 결과.

한 번에 여러 객체 에이 작업을 수행하므로 경량 JS 코드를 찾고 있습니다.



답변

다음을 사용하여 모든 요소를 ​​지울 수 있습니다.

var select = document.getElementById("DropList");
var length = select.options.length;
for (i = length-1; i >= 0; i--) {
  select.options[i] = null;
}


답변

의 HTML 요소 옵션을 제거하려면 select다음 remove()방법을 사용할 수 있습니다 .

function removeOptions(selectElement) {
   var i, L = selectElement.options.length - 1;
   for(i = L; i >= 0; i--) {
      selectElement.remove(i);
   }
}

// using the function:
removeOptions(document.getElementById('DropList'));

options거꾸로 제거하는 것이 중요 합니다. 이 remove()방법은 options컬렉션을 재정렬합니다 . 이런 식으로 제거 할 요소가 여전히 존재 함을 보장합니다!


답변

간단한 스크립트를 원한다면 jQuery로 가십시오. jQuery에서 모든 옵션을 제거하는 솔루션은 다음과 같습니다.

$("#droplist").empty();


답변

아마도 가장 깨끗한 솔루션은 아니지만 하나씩 제거하는 것보다 훨씬 간단합니다.

document.getElementById("DropList").innerHTML = "";


답변

이것이 가장 좋은 방법입니다.

function (comboBox) {
    while (comboBox.options.length > 0) {
        comboBox.remove(0);
    }
}


답변

이것은 짧은 방법입니다.

document.getElementById('mySelect').innerText = null

한 줄, 아니요, JQuery 없음, 단순


답변

function removeOptions(obj) {
    while (obj.options.length) {
        obj.remove(0);
    }
}