如何将客户端OnClick操作添加到ASP.NET中的文本

时间:2009-07-24 18:10:46

标签: asp.net javascript onclick

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

鉴于我现在正在使用JQuery(之前从未有过),添加此内容的最简单的解决方案是什么(包括学习内容的时间)?


修改:this似乎有效

4 个答案:

答案 0 :(得分: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.

答案 1 :(得分:1)

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

然后,您可以将以下脚本添加到head标记(以及jquery include)

(文档)$。就绪(函数(){

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

})

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

这基本上会附上一个

onclick =“CallYourFunction();”

使用“contentsCell”类

的每个td单元格(或任何其他元素)

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

(文档)$。就绪(函数(){

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

});

查看visualjquery.com以获取jquery

的绝佳参考

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

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

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

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

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

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

$("#" + cellId).html()