Javascript 面板中的YUI Datatable未注册事件
我在面板对话框中有一个datatable。datatable显示ok…但是…没有注册任何事件、排序、行选择等。什么都没有。不是香肠。如果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;
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);