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