使用jquery查找repeater复选框选中的值

时间:2017-01-02 13:58:11

标签: javascript c# jquery asp.net checkbox

我在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>

如何获取复选框选中的值?

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery循环转发器中的所有复选框。

<script type="text/javascript">
    function getCheckBoxValues() {
        $('#myRepeater input[type="checkbox"]').each(function () {
            if ($(this).prop('checked') == true) {
                alert($(this).val());
            }
        });
    }
</script>

但为了实现这一点,您必须使用具有唯一ID的<div>包装Repeater。

<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>