2011-09-22 14 views

答えて

0

このような単純な何かがありません。 すべてのウィジェットを追加する際にすべてのウィジェットにIDを与え、後で取り出せるようにどこかに保存する必要があります。たとえば、パネル上のタグとして: それはUiApp.getElementByIdありませんが、app.getElementById

function doGet(e) { 
    var app = UiApp.createApplication(); 
    ... 
    var panel = app.createXYZPanel().setId('mypanel'); 
    var IDs = ''; //list of child widgets on this panel 
    panel.add(widget.setId('id1')); 
    IDs += ',id1'; 
    panel.add(widget2.setId('id2')); 
    IDs += ',id2'; 
    //and so on... 
    panel.setTag(IDs); //save the IDs list as a tag on the panel 
    ... 
    return app; 
} 

//...later on a handler 
function handler(e) { 
    var app = UiApp.getActiveApplication(); 
    //the panel or a parent must be added as callback of the handler 
    var IDs = e.parameter.mypanel_tag.split(','); 
    for(var i = 1; i < IDs.length; ++i) { //skipping the 1st empty element 
    var widget = app.getElementById(IDs[i]); 
    //do something 
    } 
    return app; 
} 

ところで、あなたはおそらくあなたのコードが誤っていたことが、知っています。

+0

ええ、これは多かれ少なかれ私がやったことです。ありがとう!また、この質問を構成する際には、タイプミスを捕まえるためにも、ちょっと面倒です。 – Benj

関連する問題