如何使用JQuery模式窗口在GridView中的同一行上检索TR数据
我试图关注此链接: 链接到示例
我在SP Visual Web部件中有以下GridView:
<asp:TextBox ID="TextBox1" runat="server" Text='' CssClass="sumM"> <asp:Label ID="Label1" runat="server" Text=''>
生成代码后,它在网页上看起来像这样:
每行都有自己的数据和生成的HTML示例:
VIEW After Hours Pediatrics; Callback Number
THIS IS A TEST GUIDELINE BUT NOT SHOWN TO THE USER BUT WILL BE SHOWN IN THE MODEL WINDOW.
CSS从视图中隐藏列但仍然从代码隐藏执行:
.gLine { display: none; }
使用以下命令显示模态窗口:
Id:
我试图在JQuery中通过以下方法显示链接点击Guideline
标题下的行中的数据:
function test() { alert("test"); $("#infoShow").html($(".gLine", $(this).closest("tr")).html()); $("#dialog").dialog({ title: "View Guideline", buttons: { Ok: function () { $(this).dialog('close'); } }, modal: true }); }
在上面的示例中,当我单击VIEW链接时,模式窗口应显示:
THIS IS A TEST GUIDELINE BUT NOT SHOWN TO THE USER BUT WILL BE SHOWN IN THE MODEL WINDOW.
但它什么都没显示。
如何修改我的JQuery代码以使用类gLine
显示TD内的文本
我也尝试了下面的内容,但我一直undefined
第二个警报:
function test() { alert("test"); $("#infoShow").html($(".gLine", $(this).closest("tr")).html()); var tableData = $(this).children("td").map(function () { return $(this).text(); }).get(); alert(tableData[5]); $("#dialog").dialog({ title: "View Guideline", buttons: { Ok: function () { $(this).dialog('close'); } }, modal: true }); }
以下是如何使您的演示工作:
首先,从标记中删除标记。
第二个删除onclick="javascript:test();return false;"
来自你的链接
最后,将您的代码更改为此( 演示 ):
$(function () { $('table a').click(function () { $("#infoShow").html($(".gLine", $(this).closest("tr")).html()); $("#dialog").dialog({ title: "View Guideline", buttons: { Ok: function () { $(this).dialog('close'); } }, modal: true }); }); });
请注意,当您使用jQuery UI时,请包含相应版本的jQuery。
编辑:问题中的代码不起作用的原因是因为onclick
调用test()
而没有对元素的任何引用。 如果它看起来像这样:
onclick="javascript:test(this);return false;"
然后测试function可以这样做:
function test(element) { // ... $("#infoShow").html($(".gLine", $(element).closest("tr")).html()); // ... }