我们如何循环遍历所有ASP.NET DataList项并使用Javascript访问ItemTemplate中的所有项的值(在本例中为复选框和标签)?
这是asp.net:
<asp:DataList ID="DataGroup" ClientIDMode="Static" runat="server" DataKeyField="GroupName" RepeatColumns="2" RepeatDirection="Vertical" HeaderStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:CheckBox ID="chk1" runat="server"/>
<asp:Label ID="ProductIDLabel" runat="server" Text='<%# Eval("GroupName") %>' style="padding-right:30px;"/>
</ItemTemplate>
</asp:DataList>
我不确定我是应该使用Jquery还是仅使用纯Javascript ...
答案 0 :(得分:1)
您可以为列表中的每个项目添加一个类,如下所示
<asp:DataList ID="DataGroup" runat="server" DataKeyField="GroupName" RepeatColumns="2" RepeatDirection="Vertical" HeaderStyle-VerticalAlign="Top">
<ItemTemplate>
<asp:CheckBox ID="chk1" Class ="dataGroupItem" runat="server"/>
<asp:Label ID="ProductIDLabel" Class ="dataGroupItem" runat="server" Text='<%# Eval("GroupName") %>' style="padding-right:30px;"/>
</ItemTemplate>
</asp:DataList>
然后用这个类名循环遍历所有内容:
<script>
$('.dataGroupItem').each(function(){
//Todo
});
</script>
这是一个指向jsFiddle的链接,因此您可以尝试使用Count:jsfiddle
答案 1 :(得分:0)
编译文件并在浏览器中运行。 右键单击并选择&#34;查看源&#34;。 找到你的复选框(它将是HTML中的输入,但id应该是相同的。* 在ASPX文件中的结束正文标记之前插入脚本标记并运行此脚本
像这样(未经测试)
<script>
var chkBox = document.getElementById("chk1");
if (chkBox.checked)
{
doSomething();
}
</script>
*编辑:ID可能已更改为&#34; ContentPlaceHolder1_chk1&#34;