Javascript 从上一行获取数据
当我点击一行时,我试图获取前一行的数据,但并不是很成功 例如,如果我单击包含“PersonB”的行,那么我应该从FirstName列中获取前一行的值,即PersonA 在网格的更改事件中,您可以看到我试图使用prev(),但返回的只是一个对象,不确定如何从该prev()获取所需的值Javascript 从上一行获取数据,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,当我点击一行时,我试图获取前一行的数据,但并不是很成功 例如,如果我单击包含“PersonB”的行,那么我应该从FirstName列中获取前一行的值,即PersonA 在网格的更改事件中,您可以看到我试图使用prev(),但返回的只是一个对象,不确定如何从该prev()获取所需的值 $(文档).ready(()=>{ 风险值数据=[{ ID:1, 名字:“人物角色”, 姓氏:“123” }, { ID:2, 名字:“PersonB”, 姓氏:“456” }, { ID:3, 名字:“Perso
$(文档).ready(()=>{
风险值数据=[{
ID:1,
名字:“人物角色”,
姓氏:“123”
},
{
ID:2,
名字:“PersonB”,
姓氏:“456”
},
{
ID:3,
名字:“PersonC”,
姓氏:“789”
}
];
$(“#网格列表”).kendoGrid({
数据源:{
数据:数据
},
模式:{
型号:{
字段:{
身份证:{
类型:“编号”
},
名字:{
类型:“字符串”
},
姓氏:{
类型:“字符串”
}
}
}
},
可过滤:false,
栏目:[{
字段:“ID”,
标题:“身份证”,
隐藏:真的
},
{
字段:“名字”,
标题:“名字”
},
{
字段:“姓氏”,
标题:“姓氏”
}
],
可滚动:对,
可排序:是的,
可分页:false,
可选:“行”,
可重排序:false,
分组:false,
可调整大小:正确,
列菜单:false,
数据绑定:函数(){
//var grid=$(“#GridList”).data(“kendoGrid”);
//对于(var i=0;i
#结果{
字体大小:36px;
}
您可以这样做:
change: function(e) {
$('#Result').text();
var data = this.dataItem(this.select().prev());
console.log(data);
}
当您单击PersonB
时,它将为您提供以下对象:
{
"ID": 1,
"FirstName": "PersonA",
"LastName": "123"
}
$(文档).ready(()=>{
风险值数据=[{
ID:1,
名字:“人物角色”,
姓氏:“123”
},
{
ID:2,
名字:“PersonB”,
姓氏:“456”
},
{
ID:3,
名字:“PersonC”,
姓氏:“789”
}
];
$(“#网格列表”).kendoGrid({
数据源:{
数据:数据
},
模式:{
型号:{
字段:{
身份证:{
类型:“编号”
},
名字:{
类型:“字符串”
},
姓氏:{
类型:“字符串”
}
}
}
},
可过滤:false,
栏目:[{
字段:“ID”,
标题:“身份证”,
隐藏:真的
},
{
字段:“名字”,
标题:“名字”
},
{
字段:“姓氏”,
标题:“姓氏”
}
],
可滚动:对,
可排序:是的,
可分页:false,
可选:“行”,
可重排序:false,
分组:false,
可调整大小:正确,
列菜单:false,
数据绑定:函数(){
//var grid=$(“#GridList”).data(“kendoGrid”);
//对于(var i=0;i
#结果{
字体大小:36px;
}
当选定的行是第一行时,您必须检查用例,但下面是一些有效的代码(参见下面的演示)
$(文档).ready(()=>{
风险值数据=[{
ID:1,
名字:“人物角色”,
姓氏:“123”
},
{
ID:2,
名字:“PersonB”,
姓氏:“456”
},
{
ID:3,
名字:“PersonC”,
姓氏:“789”
}
];
$(“#网格列表”).kendoGrid({
数据源:{
数据:数据
},
模式:{
型号:{
字段:{
身份证:{
类型:“编号”
},
名字:{
类型:“字符串”
},
姓氏:{
类型:“字符串”
}
}
}
},
可过滤:false,
栏目:[{
字段:“ID”,
标题:“身份证”,
隐藏:真的
},
{
字段:“名字”,
标题:“名字”
},
{
字段:“姓氏”,
标题:“姓氏”
}
],
可滚动:对,
可排序:是的,
可分页:false,
可选:“行”,
可重排序:false,
分组:false,
可调整大小:正确,
列菜单:false,
数据绑定:函数(){
//var grid=$(“#GridList”).data(“kendoGrid”);
//对于(var i=0;i
#结果{
字体大小:36px;
}
可能的解决方案是找到当前选择的索引,然后从数据数组中获取索引-1:
$(文档).ready(()=>{
风险值数据=[{
ID:1,
名字:“人物角色”,
姓氏:“123”
},
{
ID:2,
名字:“PersonB”,
姓氏:“456”
},
{
ID:3,
名字:“PersonC”,
姓氏:“789”
}
];
$(“#网格列表”).kendoGrid({
数据源:{
数据:数据
},
模式:{
型号:{
字段:{
身份证:{
类型:“编号”
},
名字:{
类型:“字符串”
},
姓氏:{
类型:“字符串”
}
change: function(e) {
var selectedRows = this.select();
previousPerson = $(selectedRows).prev().find('td:nth-child(2)').text();
$('#Result').text(previousPerson);
},