我有一个YUI数据表如下
YAHOO.example.Data = {
bookorders: [
{id:"po-0167", date:new Date(1980, 2, 24), quantity:1, amount:4, title:"A Book About Nothing"},
{id:"po-0783", date:new Date("January 3, 1983"), quantity:null, amount:12.12345, title:"The Meaning of Life"},
{id:"po-0297", date:new Date(1978, 11, 12), quantity:12, amount:1.25, title:"This Book Was Meant to Be Read Aloud"},
{id:"po-1482", date:new Date("March 11, 1985"), quantity:6, amount:3.5, title:"Read Me Twice"}
]
}
我添加了一个订阅事件
myDataTable.subscribe("rowClickEvent", function(args){
alert("inside click1");
var rec = myDataTable.getSelectedRows()[0];
.
.
.
printTitle(record.title);
});
问题是我无法设法获取所选行。我有另一个函数printTitle来提醒单击该行的书的标题。
我设法使用myDataTable.getSelectedRows()[0]获取selectedRow。我更新了我的代码,但现在我似乎无法获得标题。
答案 0 :(得分:2)
正在通过论坛寻找更多灵感,我偶然发现了这个
another question on yui row click event
最后我用
替换了getselectedrowsmyDataTable.subscribe("rowClickEvent", function(args){
var record = this.getRecord(args.target);
var title = record.getData("title");
alert("inside click2 : " + title);
});
它就像一个魅力
答案 1 :(得分:1)
我认为你很接近。
尝试以下方法:
请注意“var selectedRecordId = myDatatable.getSelectedRows()[0];”给你记录的id。 您可能需要执行“var selectedRecord = myDatatable.getRecord(id);”得到你的记录。 当你有记录时,你需要使用“var title = selectedRecord.getData('title');”得到标题。
检查那些文档(帮助我回答): http://developer.yahoo.com/yui/docs/YAHOO.widget.Record.html http://developer.yahoo.com/yui/docs/YAHOO.widget.DataTable.html