Javascript 剑道网格超链接

Javascript 剑道网格超链接,javascript,asp.net,kendo-ui,kendo-grid,Javascript,Asp.net,Kendo Ui,Kendo Grid,我有一个4列的表。[ID、名字、姓氏、地址]。我正在kendogrid上显示3个克隆[ID、FIRSTNAME、LASTNAME]。我想做的是点击名字,它会在一个新窗口上显示地址,但我不明白。我试着获取名字的链接,但不知道以后如何继续。我不熟悉这个概念。下面是我的代码。我是否需要为地址或其工作方式创建剑道网格。我想要的是ID上的超链接以显示地址 谢谢 Grid = $("#grid").kendoGrid({ dataSource:gridDS,

我有一个4列的表。[ID、名字、姓氏、地址]。我正在kendogrid上显示3个克隆[ID、FIRSTNAME、LASTNAME]。我想做的是点击名字,它会在一个新窗口上显示地址,但我不明白。我试着获取名字的链接,但不知道以后如何继续。我不熟悉这个概念。下面是我的代码。我是否需要为地址或其工作方式创建剑道网格。我想要的是ID上的超链接以显示地址

谢谢

 Grid = $("#grid").kendoGrid({
                      dataSource:gridDS,
                      height: 450,
                      pageable: false,
                      sortable: true,
                          binding: true
         columns: [

                 {
                     field: "ID",
                     title: "ID",
                     headerTemplate: '<span class="tbl-hdr">ID</span>',
                     attributes: {
                         style: "vertical-align: top; text-align: left; font-weight:bold; font-size: 12px"
                     },
                     width: 85
                 },
                 {
                     field: "FIRSTNAME",
                     title: "FIRSTNAME",
                     headerTemplate: '<span class="tbl-hdr">FIRSTNAME</span>', 
                     template: '<a href="#=FIRSTNAME#">#=ADDRESS#</a>',
                     attributes: {
                         style: "vertical-align: top; text-align: left; font-weight:bold; font-size: 12px"
                     },
                     width: 25
                 },
                 {
                     field: "LASTNAME",
                     title: "LASTNAME",
                     headerTemplate: '<span class="tbl-hdr">LASTNAME</span>',
                     attributes: {
                         style: "vertical-align: top; text-align: left; font-weight:bold; font-size: 12px"
                     },
                     width: 85
                 },

                  {
                      command: [
                        {
                            name: "destroy",
                            template: "<div class='k-button delete-btn'><span class='k-icon k-delete'></span></div>",
                            text: "remove"
                        },
                        {
                            text: "Edit",
                            template: "<div class='k-button edit-btn'><span class='k-icon k-edit'></span></div>",

                        },

                      ],
                      width: 40,
                      attributes: {
                          style: "vertical-align: top; text-align: center;"
                      }
                  },
             ],
             editable: "popup"
         }).data('kendoGrid');
     }
Grid=$(“#Grid”).kendoGrid({
数据源:gridDS,
身高:450,
可分页:false,
可排序:是的,
绑定:正确
栏目:[
{
字段:“ID”,
标题:“身份证”,
headerTemplate:“ID”,
属性:{
样式:“垂直对齐:顶部;文本对齐:左侧;字体大小:粗体;字体大小:12px”
},
宽度:85
},
{
字段:“名字”,
标题:“名字”,
headerTemplate:“名字”,
模板:“”,
属性:{
样式:“垂直对齐:顶部;文本对齐:左侧;字体大小:粗体;字体大小:12px”
},
宽度:25
},
{
字段:“姓氏”,
标题:“姓氏”,
headerTemplate:“姓氏”,
属性:{
样式:“垂直对齐:顶部;文本对齐:左侧;字体大小:粗体;字体大小:12px”
},
宽度:85
},
{
命令:[
{
名称:“摧毁”,
模板:“”,
正文:“删除”
},
{
文本:“编辑”,
模板:“”,
},
],
宽度:40,
属性:{
样式:“垂直对齐:顶部;文本对齐:中心;”
}
},
],
可编辑:“弹出窗口”
}).数据(“kendoGrid”);
}
我认为这不是剑道问题,主要是关于JS/jQuery的。我建议在网格上绑定一个事件,以从模板中的该链接获取所有单击事件。然后,您可以使用它的行数据获取单击的
dataItem

.on("click", "a.name-link", function() {
    var tr = $(this).closest("tr");
    var dataItem = $("#grid").data("kendoGrid").dataItem(tr);

    window.alert(dataItem.Address);
});

目前尚不清楚的是,您希望如何打开包含地址的新窗口。你的意思是:一个新的浏览器标签/窗口,或者在你的应用程序中有一个JS弹出窗口

如果需要新的浏览器选项卡/窗口,应使用将行
id
传递给它,然后在此窗口中,必须再次点击数据库以显示信息。现在,如果你想在你的应用程序中弹出一个javascript窗口(例如),你可以使用之前检索到的
dataItem
来填充它。信息已经存在。

我认为这不是剑道问题,主要是关于JS/jQuery的。我建议在网格上绑定一个事件,以从模板中的该链接获取所有单击事件。然后,您可以使用它的行数据获取单击的
dataItem

.on("click", "a.name-link", function() {
    var tr = $(this).closest("tr");
    var dataItem = $("#grid").data("kendoGrid").dataItem(tr);

    window.alert(dataItem.Address);
});

目前尚不清楚的是,您希望如何打开包含地址的新窗口。你的意思是:一个新的浏览器标签/窗口,或者在你的应用程序中有一个JS弹出窗口


如果需要新的浏览器选项卡/窗口,应使用将行
id
传递给它,然后在此窗口中,必须再次点击数据库以显示信息。现在,如果你想在你的应用程序中弹出一个javascript窗口(例如),你可以使用之前检索到的
dataItem
来填充它。信息已经存在。

我更新了代码。您可以单击firstName查看地址

若你们想更进一步,你们可以点击地址按钮在弹出窗口中查看地址


剑道UI片段
a{
光标:指针;
文字装饰:下划线;
}
.k-grid-update{
显示:无;
}
#=名字#
#=地址#
$(“#网格”).kendoGrid({
栏目:[
{字段:“id”},
{字段:“firstName”,模板:kendo.template($(“#行模板”).html())},
{字段:“lastName”},
{命令:[{名称:“编辑”,文本:{编辑:“地址”,取消:“关闭”,更新:“关闭”}]
}
],
数据源:{
数据:[
{id:1,姓:“简”,姓:“Doe”,地址:“123街”},
{id:2,姓:“约翰”,姓:“Doe”,地址:“456街”}
],
模式:{
模型:{id:“id”}
}
},
可编辑:{
模式:“弹出”,
窗口:{title:'Address'},
模板:kendo.template($(“#弹出编辑器”).html()
}
});
功能显示(地址){
警报(地址);
}

我更新了代码。您可以单击firstName查看地址

若你们想更进一步,你们可以点击地址按钮在弹出窗口中查看地址


剑道UI片段
a{
光标:指针;
文字装饰:下划线;
}
.k-grid-update{