如何用js 控制select标签,把其中的下拉菜单项清空。
select标签动态生成的

解决方案 »

  1.   


    oSelect=document.getElementById('select');
    oOptions=document.getElementById('select').options;
    for(var i=0;i<oOptions.length;i++){
        oOptions.removeChild(oOptions[i]);
    }
      

  2.   

    其实这种效果通过控制length就可以了假如页面这样:
    <form action="" method="post" name="myForm">
      <select name="sel">
        ……
      </select>
    </form>在js里:
    var sel = document.forms["myForm"].elements["sel"];
    sel.length = 0;   //为0表全清空,为1表留下一项……
      

  3.   

    /**
     * 删除select的option全部或某个值
     */
    option.prototype.delOption = function (objId,indexId) {
    var selobj = document.getElementById(objId);
    if(selobj != "[object]" || selobj != "[object HTMLSelectElement]") {
    return false;
    }
    //var options = selobj.options;
    if (indexId != "" && (indexId != undefined || indexId != "undefined") ) {
    selobj.remove(indexId);
    } else {
    for (var i = selobj.options.length -1; i >= 0; i--) {
    selobj.remove(i);
    }
    }
    }
      

  4.   

    /**
     * 根据一组options值动态设置select的列表内容
     * orderBy 排序方式
     */
    option.prototype.setSelectOption = function(textNodes,valueNodes,selectId,orderBy) {
     
      
      if (selectId.constructor == String) {
       for(var i = 0; i < textNodes.length; i++) {
          var defOpt = document.createElement("OPTION");
      defOpt.text = textNodes[i].text;
      defOpt.value = valueNodes[i].text;
      document.getElementById(selectId).add(defOpt);
       }
      } else {
       selectId.cArray(valueNodes,true);
      }
      
    }
      

  5.   

    var sel = document.getElementById("idCaseName");
    sel.options.length = 1;
    sel.options[0].selected = "selected";
    for (var i = 0; i < alength; i++) {
    sel.options[sel.options.length] = new Option(arrstr[i].caseName, arrstr[i].caseId);
    }