我在C#的中继器中有一个复选框模板字段
使用ASP.NET C#绑定转发器
<asp:Repeater ID="rpt_detail" runat="server">
<ItemTemplate>
<table>
<tr>
<td style="width: 10%; padding-top: 10px;">
<input type="checkbox" id="selectit" name="selectit" value='<%# Eval("mdID") %>' />
</td>
<td>
<asp:Label ID="mdID" runat="server" Visible="false" Text='<%# Eval("mdID") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lbl_xprice" runat="server" Text='<%# Eval("mdPrice") %>'></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
和javascipt
<script>
function aaaaa() {
var selectit = $('input[name="selectit"]').val();
$.ajax({
url: "ajaxservice/getinchar.aspx",
type: 'POST',
data: { selectw: selectit },
success: function (result) {
$("#testview").html(result);
}
});
}
</script>
如何获得复选框的检查值?
最佳答案
您可以使用jQuery循环中继器中的所有复选框。
<script type="text/javascript">
function getCheckBoxValues() {
$('#myRepeater input[type="checkbox"]').each(function () {
if ($(this).prop('checked') == true) {
alert($(this).val());
}
});
}
</script>
但是,要使其正常工作,您必须使用具有唯一ID的
<div>
包装中继器。<div id="myRepeater">
<asp:Repeater ID="rpt_detail" runat="server"></asp:Repeater>
</div>
与解决方案并没有真正的关系,但是您在Repeater的复选框中得到了重复的ID(
selectit
)。最好使用asp.net CheckBox控件。而且,您最好在中继器之外设置
<table>
</table>
。<table id="myRepeater">
<asp:Repeater ID="rpt_detail" runat="server">
<ItemTemplate>
<tr>
<td> content... </td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>