Javascript 面板中的YUI Datatable未注册事件

Javascript 面板中的YUI Datatable未注册事件,javascript,yui,yui-datatable,Javascript,Yui,Yui Datatable,我在面板对话框中有一个datatable。datatable显示ok…但是…没有注册任何事件、排序、行选择等。什么都没有。不是香肠。如果datatable不在面板内,则行选择、排序等工作非常好 这是我的密码。如果你能给我指出正确的方向,我将永远感激 YAHOO.util.Event.addListener(window, "load", function(){ function processPostpone(e) { var dom = YAHOO.util.Dom;

我在面板对话框中有一个datatable。datatable显示ok…但是…没有注册任何事件、排序、行选择等。什么都没有。不是香肠。如果datatable不在面板内,则行选择、排序等工作非常好

这是我的密码。如果你能给我指出正确的方向,我将永远感激

YAHOO.util.Event.addListener(window, "load", function(){
function processPostpone(e)
{
      var dom = YAHOO.util.Dom;
      if(dom.get("user_rejected").value==3)
      {
          window.alert(dom.get("user_rejected_impossible").value);  
      }
      else
      {
            var elTarget = YAHOO.util.Event.getTarget(e);    
            var attendance_id = elTarget.id;
            attendance_id = attendance_id.substring(7, 15);
            var handleYes = function() {
                // postpone session
                var callback = {
                     success : function(o) 
                     {
                        if(o.responseText=="true")
                        {
                            // succesfully postponed session
                            var callback2 = 
                            {
                                    success: function(o) 
                                    {
                                        try 
                                        {
                                            messages = YAHOO.lang.JSON.parse(o.responseText);
                                        }
                                        catch (x) 
                                        {
                                            alert("JSON Parse failed!");
                                            return;
                                        }
                                       if(messages.ResultSet.count > 0)
                                       {
                                           // there are some other available sessions
                                            var columndefs = [
                                                              {key:"name", label: "Session", sortable:false, resizeable:false},
                                                              {key:"location", label: "Location", sortable:false, resizeable:false},
                                                              {key:"start_date", label: "Start Date", sortable:false, resizeable:false}
                                                             ];

                                            var datasource = new YAHOO.util.DataSource(messages);
                                            datasource.responseType = YAHOO.util.DataSource.TYPE_JSON;
                                            datasource.responseSchema = {
                                                    resultsList: "ResultSet.Result",
                                                    fields: ["name","location","start_date"]
                                            };

                                            var datatable = new YAHOO.widget.DataTable("possibleSessionsDataTable", columndefs, datasource, {rowSingleSelect:true, zindex:999});
                                            datatable.subscribe("rowMouseoverEvent", datatable.onEventHighlightRow);
                                            datatable.subscribe("rowMouseoutEvent", datatable.onEventUnhighlightRow);
                                            datatable.subscribe("rowClickEvent", datatable.onEventSelectRow);
                                            datatable.focus();

                                            var handleSubmit = function() {
                                               // test
                                               alert('You clicked submit');
                                            }

                                            var panel = new YAHOO.widget.Panel("panel2", { width:"600px", visible:false,  modal: false, fixedCenter: true, draggable:false, close:false } );
                                            panel.setHeader("Other Sessions You May Be Able To Attend");
                                            panel.setBody(dom.get("other_possible_sessions").innerHTML);
                                            panel.setFooter('<div id="panelFooter"></div>');

                                            panel.showEvent.subscribe(function() {
                                                var button1 = new YAHOO.widget.Button({
                                                    type: 'button',
                                                    label: 'Submit',
                                                    container: 'panelFooter'
                                                });                                                         
                                                button1.on("click", handleSubmit);
                                            }, panel, true);

                                            panel.render("container");
                                            panel.show();
                                       }
                                    },
                                    failure: function(o)
                                    {

                                    }
                                }
                                var conn = YAHOO.util.Connect.asyncRequest("POST", "/ajax/possiblesessions.json?id=" + attendance_id, callback2);
                            }
                            else
                            {
                                window.alert("Sorry, there was an error.");
                            }
                         },
                         failure : function(o) 
                         {
                             window.alert("Sorry, there was an error.");
                         }
                     }
                var conn = YAHOO.util.Connect.asyncRequest("POST", "/ajax/postponesession.json?id=" + attendance_id, callback);

                var loading = new YAHOO.widget.Panel("wait",  
                        { width:"300px", 
                          fixedcenter:true, 
                          close:false, 
                          draggable:true, 
                          zindex:4,
                          modal:false,
                          visible:false
                        } 
                    );
            this.hide();

            /*loading.setHeader("Rejecting session...");
            loading.setBody('<img src="http://l.yimg.com/a/i/us/per/gr/gp/rel_interstitial_loading.gif" />');
            loading.render(document.body);
            loading.show();*/
            };

            var handleNo = function() {
                this.hide();
            };

            var dialog  =  new YAHOO.widget.SimpleDialog("dialog", 
                         { width: "300px",
                           fixedcenter: true,
                           visible: false,
                           draggable: false,
                           close: true,
                           text: document.getElementById("reject_alert_text").innerHTML,
                           modal: false,
                           icon: YAHOO.widget.SimpleDialog.ICON_HELP,
                           constraintoviewport: true,
                           buttons: [ { text:"Yes", handler:handleYes, isDefault:true },
                                      { text:"No",  handler:handleNo } ]
                         } );
            dialog.setHeader("Reject session?");
            // Render the Dialog
            dialog.render(document.body);
            dialog.show();
      } 
}
// create postpone button
var elms = YAHOO.util.Dom.getElementsByClassName("reject");

// loop over all the elements and attach a click event
for(var i=0,j=elms.length;i<j;i++)
{
    var el = document.getElementById(elms[i].id);
    YAHOO.util.Event.addListener(el, "click", processPostpone);
} 

var tabView = new YAHOO.widget.TabView('tabs');
YAHOO.util.Event.addListener(窗口,“加载”,函数(){
函数(e)
{
var dom=YAHOO.util.dom;
if(dom.get(“用户被拒绝”).value==3)
{
window.alert(dom.get(“用户拒绝了”\u不可能”).value);
}
其他的
{
var-elTarget=YAHOO.util.Event.getTarget(e);
var Attention_id=elTarget.id;
考勤号=考勤号子串(7,15);
var handleYes=函数(){
//推迟会议
变量回调={
成功:功能(o)
{
如果(o.responseText==“true”)
{
//成功推迟会议
var callback2=
{
成功:功能(o)
{
尝试
{
messages=YAHOO.lang.JSON.parse(o.responseText);
}
捕获(x)
{
警报(“JSON解析失败!”);
返回;
}
如果(messages.ResultSet.count>0)
{
//还有一些其他可用的会话
var columndefs=[
{key:“name”,label:“Session”,sortable:false,resizeable:false},
{键:“位置”,标签:“位置”,可排序:false,可调整大小:false},
{键:“开始日期”,标签:“开始日期”,可排序:false,可调整大小:false}
];
var datasource=newyahoo.util.datasource(消息);
datasource.responseType=YAHOO.util.datasource.TYPE_JSON;
datasource.responseSchema={
resultsList:“ResultSet.Result”,
字段:[“名称”、“位置”、“开始日期”]
};
var datatable=newyahoo.widget.datatable(“possibleSessionsDataTable”,columndefs,datasource,{rowSingleSelect:true,zindex:999});
订阅(“rowMouseoverEvent”,datatable.onEventHighlightRow);
订阅(“rowMouseoutEvent”,datatable.oneventunhightrow);
订阅(“rowClickEvent”,datatable.onEventSelectRow);
datatable.focus();
var handleSubmit=函数(){
//试验
警报(“您单击了提交”);
}
var panel=newyahoo.widget.panel(“panel2”,宽度:{600px),可见:false,模态:false,fixedCenter:true,draggable:false,close:false});
panel.setHeader(“您可能参加的其他会议”);
setBody(dom.get(“其他可能的会话”).innerHTML);
panel.setFooter(“”);
panel.showEvent.subscribe(函数(){
var button1=新的YAHOO.widget.Button({
键入:“按钮”,
标签:“提交”,
容器:“panelFooter”
});                                                         
按钮1.打开(“单击”,可手动提交);
},面板,正确);
面板。渲染(“容器”);
panel.show();
}
},
故障:功能(o)
{
}
}
var conn=YAHOO.util.Connect.asyncRequest(“POST”,“/ajax/possiblesessions.json?id=“+attention\u id,callback2”);
}
其他的
{
window.alert(“抱歉,出现错误。”);
}
},
故障:功能(o)
{
window.alert(“抱歉,出现错误。”);
}
}
var conn=YAHOO.util.Connect.asyncRequest(
obj.subscribe("onEvent", this.onEvent, this, true);