1

我正在 ASP.NET 页面中生成一个目录,并且我想向OnClick每个单元格添加客户端操作(该操作应该是将命名的 TextBox 控件的值设置为单击的单元格中的文本)。如果我可以直接将内容添加到 HTML 输出中,我想我可以在每个单元格中使用一行 JavaScript 来做到这一点。

鉴于我现在没有使用 JQuery(以前从未使用过),添加它的最简单解决方案是什么(包括花在学习上的时间)?


编辑:似乎工作

4

4 回答 4

2

如果您以编程方式创建表格,使用 HtmlControls,您可以设置 HtmlTableCell 的 onclick 客户端属性:

HtmlTableCell cell = new HtmlTableCell();
cell.Attributes.Add("onclick", "someFunction();");

但是,如果您使用的是 jQuery,则可以执行以下操作:

$('td').click(function(){ // Select all the table cells on the document.
  $(this).html($('#textboxId').val()); // When clicked, change the innerHTML
});                                    // with a textbox value.
于 2009-07-24T18:14:58.730 回答
1

你应该给每个单元格一个 css 类... class="contentsCell"

然后,您可以将以下脚本添加到您的 head 标签中(以及一个 jquery 包含)

$(文档).ready(函数(){

$(".contentsCell").click(function(){
    CallYourFunction();
})

})

CallYourFunction() 是你自己的函数......

这基本上会附上一个

onclick="CallYourFunction();"

到具有“contentsCell”类的每个 td 单元格(或任何其他元素)

此外,如果您想获取单元格内的文本,例如:

$(文档).ready(函数(){

$(".contentsCell").click(function(){
    var mytext = $(this).text();
    CallYourFunction(mytext);
});

});

查看 visualjquery.com 以获得有关 jquery 的重要参考

于 2009-07-24T18:15:56.230 回答
1

这取决于您如何生成该目录。

  1. 如果使用表格控件构建,您可以使用Attributes.Add()方法将 JavaScript 添加到TableCell控件。

  2. 如果使用 GridView 构建,您可以在引发RowDataBound事件时添加 JavaScript

于 2009-07-24T18:21:24.113 回答
0

嗯,你的问题有点难以理解,但我会给你一些建议。

每个控件都有一个 ClientID 属性。这对于注入您的 javascript 非常有用,因此您知道控件的客户端 ID。

将文本放入文本框的 jQuery 语法如下所示:

$("#" + clientId).attr("value", theValue);

从单元格中获取文本的 jQuery 语法是:

$("#" + cellId).html()
于 2009-07-24T18:15:18.667 回答