0

次のコンボボックス「Select Page」をjspページに動的に追加しています。これにより、変更時に「Objects」と呼ばれる別のコンボボックスが読み込まれます.Select Pageドロップダウンはコンテンツで適切にロードされますが、イベントをトリガーしません。つまり populateObjects です。populateObjects() 関数でアラートを保持しています。これは、このアラートを呼び出していないことを示しています。助けてください。

//Select Page
       var cell4 = row.insertCell(3);
       var element4 = document.createElement("select");
       element4.setAttribute('id', 'selPageRow' + rowCount);
       element4.setAttribute('name', 'selPageRow' + rowCount);
       element4.setAttribute('onClick', 'javascript:populateObjects(this.options[this.selectedIndex].innerHTML,'+rowCount+');');
       var PageArray = getPages();
       var option = document.createElement("option");
       option.text = "Select..."; 
       option.value = "select"; 
       element4.options.add(option);
       for(var i=0;i<PageArray.length;i++)
           {
               var option = document.createElement("option");
               option.text = PageArray[i].attributes[0].nodeValue; 
               option.value = PageArray[i].attributes[0].nodeValue;  
               element4.options.add(option);
           }
       cell4.appendChild(element4); 

// Code for populating Object dropdown

    function populateObjects(selectedValue,rowCount)
    {
        alert(selectedValue);
        var SelBox = document.getElementById('selObjRow' + rowCount);
        removeAllOptions(SelBox);
        var ObjArry = getObjects(selectedValue);

        var option = document.createElement("option");
        option.text = "Select..."; 
        option.value = "select"; 
        SelBox.options.add(option);
        if(ObjArry.length>0)
        {
            for(var i=0;i<ObjArry.length;i++)
               {
                   var option = document.createElement("option");
                   option.text = ObjArry[i].attributes[0].nodeValue; 
                   option.value = ObjArry[i].attributes[0].nodeValue;  
                   SelBox.options.add(option);
               }
        }
        else
        {
            var option = document.createElement("option");
            option.text = "None"; 
            option.value = "none"; 
            SelBox.options.add(option);
        }
        cell5.appendChild(SelBox);
    }
4

1 に答える 1

0

onClickイベントをonChangeイベントに変更

   element4.setAttribute('onChange', 'javascript:populateObjects(this.options[this.selectedIndex].innerHTML,'+rowCount+');');
于 2013-04-19T06:08:12.857 に答える