我有执行此操作的 Javascript 代码:
var oObjchbox = document.getElementById("CheckBox_" + countyId);<br/>
countyId 来自预先制作的图像映射。
另一方面,复选框是由 ASP.NET 创建的。我的第一个尝试是将 asp.repeater 与 asp:checkBox 一起使用,但这并没有奏效,因为 ASP.NET 坚持创建自己的 ID。另一种尝试是在没有 runat=server 的情况下使用 HTML INPUT,但是复选框无法在往返过程中存活下来。
有没有人能解决这个问题?我在这里发现了类似的问题 http://www.velocityreviews.com/forums/t301617-hijack-databoundliteralcontrol.html 但没有人回答他的问题。
最佳答案
如果问题是从 Repeater 中的 Checkbox 获取 ID,那么这篇文章可能会有所帮助,Select All Checkboxes in a GridView .它显示了如何在 ASP.Net Gridview 上生成客户端选择所有功能。
您遇到的问题并不少见。您想要使用 JavaScript 访问重复布局(GridView、Repeater、DataList 等)控件中的控件。
要记住的是,您可以在 DataBound 事件(RowDataBound、ItemDataBound)期间访问生成的 ClientId,然后可以在客户端使用。
然后在回程中,因为这是一个标准控件,您应该能够找到它。但是,如果您使用的是 Repeater,则更新数据可能需要更多工作,因为控件本身更适合只读类型显示。
如果问题是将每个控件映射到预定义的 StateCode,那么在 ItemDataBound 或 RowDataBound(如果您从 Repeater 更改为其他)事件中,您可以根据需要使用 1 或 2 个参数连接对 JavaScript 方法的调用。 currentCheckBoxId 和适当的 StateCode 分别或已经连接并将其用作查找类型功能。
很抱歉这两个答案,但关于您实际尝试做什么的问题似乎有点含糊,也许我只需要再喝杯咖啡。希望其中一个想法有所帮助。
关于asp.net - 在 ASP.NET 和 Javascript 中使用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790635/