0
  • 1 つのオプションがハードコードされたコンボ ボックスがあります。
  • 残りのオプションを動的に追加します

ハードコーディングされたオプションのコンボボックス:

<select id="connectionname" class="connectionname" onchange="display();"><option>---Select---</option></select>

コンボ ボックス オプションを動的に作成する Javascript 関数:

function showDbDlg(){
    var newar=new Array();
    try{
        var xhrArgs = {
                url: "./ReadDBDetails",
                content: {MODE:"DBNAMES"}, 
                handleAs: "text",
                load: function(response) {
                    var dbNames = response.trim();
                    dbNames=dbNames.substring(0,dbNames.length-1);
                    dbArray=dbNames.split(",");
                    /*var selectValue = document.getElementById("connectionname").value;
                    alert(selectValue);*/
                    document.getElementById("connectionname").options.length = 0;
                    for(var i=0;i<dbArray.length;i++){
                        var newValue = document.getElementById("connectionname").appendChild(document.createElement('option'));
                        newValue.text = dbArray[i];
                    }
                    formDialog.show();
                },
                error: function(error) {
                    alert("An unexpected error occurred: " + error);
                }
        };
        var deferred = dojo.xhrPost(xhrArgs);
    }catch(e){alert(e);}

}
  • オプションを動的に作成する前に、毎回以下の行を使用して既存のオプションをクリアします。
  • document.getElementById("connectionname").options.length = 0;
  • ハードコードされたオプションもクリアします。
  • 私の必要性は、動的に作成されたオプションだけをクリアしたい..ハードコードされたオプションではありません。
4

1 に答える 1

3

これを試しましたか?

document.getElementById("connectionname").options.length = 1;
于 2013-02-27T07:59:46.493 に答える