我正在ASP.NET页面中生成一个内容表,我想向每个单元格添加客户端OnClick
操作(操作应该是将命名的TextBox控件的值设置为文本在点击的单元格中)。如果我可以直接在HTML输出中添加内容,我想我可以在每个单元格中使用一行JavaScript来完成此操作。
鉴于我现在不正在使用JQuery(之前从未有过),添加此内容的最简单的解决方案是什么(包括学习内容的时间)?
修改:this似乎有效
答案 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)
这取决于您如何生成该目录。
如果使用表格控件进行整理,您可以使用TableCell方法将JavaScript添加到Attributes.Add()控件。
如果使用GridView构建,则可以在引发RowDataBound事件时添加JavaScript
答案 3 :(得分:0)
嗯,你的问题有点难以理解,但我会给你一些指示。
每个控件都有一个ClientID属性。这对于注入javascript非常有用,因此您可以知道控件的客户端ID。
将文本放入文本框的jQuery语法如下所示:
$("#" + clientId).attr("value", theValue);
用于从单元格获取文本的jQuery语法是:
$("#" + cellId).html()