在ASP.NET和Javascript中使用复选框

在ASP.NET和Javascript中使用复选框,asp.net,javascript,input,checkbox,repeater,Asp.net,Javascript,Input,Checkbox,Repeater,我有Javascript代码可以做到这一点: var oObjchbox=document.getElementById(“复选框”+countyId) countyId来自预先制作的图像地图 另一方面,复选框是由ASP.NET创建的。我的第一次尝试是将asp.repeater与asp:checkBox一起使用,但这并没有奏效,因为asp.NET坚持创建自己的ID。另一种尝试是在不使用runat=server的情况下使用HTML输入,但是复选框在往返过程中无法存活 有人能解决这个问题吗?我在

我有Javascript代码可以做到这一点:


var oObjchbox=document.getElementById(“复选框”+countyId)

countyId来自预先制作的图像地图

另一方面,复选框是由ASP.NET创建的。我的第一次尝试是将asp.repeater与asp:checkBox一起使用,但这并没有奏效,因为asp.NET坚持创建自己的ID。另一种尝试是在不使用runat=server的情况下使用HTML输入,但是复选框在往返过程中无法存活

有人能解决这个问题吗?我在这里发现了类似的问题
但是没有人回答他的问题。

您可以使用jquery来解决这个问题,例如,它提供了通过自定义查询选择元素的功能

$(“[id*=CheckBox1”)-返回id结尾为CheckBox1的所有元素

$(“[id^=CheckBox1”)-返回id开头为CheckBox1的所有元素

您可以通过包含word和许多其他选择器来查找


有关jquery.com的更多信息,您将喜欢它=)

您可以使用jquery来解决此问题,例如,它提供了通过自定义查询选择元素的功能

$(“[id*=CheckBox1”)-返回id结尾为CheckBox1的所有元素

$(“[id^=CheckBox1”)-返回id开头为CheckBox1的所有元素

您可以通过包含word和许多其他选择器来查找


关于jquery.com的更多信息,您会喜欢它=)

如果您的目标是检测服务器上选定的复选框,为什么不创建一个隐藏字段并通过每次单击连接国家id来更新客户端,以创建一个分隔列表,如usa;ca;nl?在回发上读取该值,解析,您就拥有了可以访问的国家/地区我被选中了


在PageLoad问题中,输入以下内容:RegisterHiddenField(“txtCountryCodes”),“”);

如果您的目标是在服务器上检测选定的复选框,为什么不创建一个隐藏字段,并通过每次单击连接国家id来更新客户端,以创建一个分隔列表,如usa;ca;nl?在回发、解析中读取该值,您就有了选定的国家


在您的PageLoad问题中有以下内容:RegisterHiddenField(“txtCountryCodes”);

如果问题是从中继器中的复选框中获取ID,那么本文可能会有所帮助。它展示了如何在ASP.Net Gridview上生成客户端全选功能

您正在处理的问题并不少见。您希望使用JavaScript访问重复布局(GridView、Repeater、DataList等)的控件中的控件

需要记住的是,您可以在数据绑定事件期间访问生成的ClientId(RowDataBoundItemDataBound),然后在客户端使用

然后在回程中,因为这是一个标准控件,您应该能够找到它。但是,如果您使用的是中继器,那么更新数据可能需要更多的工作,因为控件本身更适合只读类型显示

如果问题是将每个控件映射到预定义的状态代码,则在ItemDataBound或RowDataBound中(如果从Repeater更改为其他内容)事件您可以根据需要使用1或2个参数连接对JavaScript方法的调用。currentCheckBoxId和相应的状态码可以单独连接,也可以已经连接,并将其用作查找类型功能


对于这两个答案,我很抱歉,但是这个问题似乎有点模糊,不清楚你到底想做什么,也许我只需要再来一杯咖啡。希望这些想法中的一个能帮上忙。

如果问题是从中继器中的复选框中获取ID,那么本文可能会有所帮助。它展示了如何生成客户端全选功能on一个ASP.NETGridView

您正在处理的问题并不少见。您希望使用JavaScript访问重复布局(GridView、Repeater、DataList等)的控件中的控件

需要记住的是,您可以在数据绑定事件期间访问生成的ClientId(RowDataBoundItemDataBound),然后在客户端使用

然后在回程中,因为这是一个标准控件,您应该能够找到它。但是,如果您使用的是中继器,那么更新数据可能需要更多的工作,因为控件本身更适合只读类型显示

如果问题是将每个控件映射到预定义的状态代码,则在ItemDataBound或RowDataBound中(如果从Repeater更改为其他内容)事件您可以根据需要使用1或2个参数连接对JavaScript方法的调用。currentCheckBoxId和相应的状态码可以单独连接,也可以已经连接,并将其用作查找类型功能


很抱歉给出了这两个答案,但问题似乎有点模糊,不清楚您到底想做什么,也许我只需要再喝一杯咖啡。希望这些想法中的一个能有所帮助。

非常有趣和有用的jquery函数,但不幸的是,在中继器中,我只能为所有中继器项目设置一个通用ID,这对我没有帮助.ASP.NET随后将向ID中添加唯一的字符串。因此,我无法将countyID与生成的ASP.NET ID进行匹配。但无论如何,谢谢!非常有趣和有用的jquery函数,但不幸的是,在中继器中,我只能为所有中继器项设置一个通用的ID。ASP.NET随后将向ID中添加唯一的字符串。因此,我可以n countyID与生成的asp.net ID不匹配。不过还是要谢谢!