Tengo un gridview dentro de su casilla de verificación. También ha columna de Cantidad. Ahora yo quiero que cuando el usuario casilla seleccionada, a continuación, Cantidad valor debe mostrar en el siguiente cuadro de texto. Si el usuario puede marcar más de una fila, a continuación, toda la cantidad de la suma se debe mostrar en la cantidad de cuadro de texto.

Como si el usuario seleccione gridview primera fila & su valor es de 300. a continuación, a continuación de cuadro de texto mostrar 300. O si el usuario comprueba fila 2 & ambos tienen la cantidad de 300, 400, a continuación, cuadro de texto mostrará la suma de ambos 700.

Estoy tratando de código JQuery pero no tengo mucha idea. Esto es lo que m tratando.

function GetSelectedCasePartyAmount() {
        var counter = 0;
        $("#<%=gvDepositOrderDetail.ClientID%> input[id*='chkBoxGrdParty']:checkbox").each(function (index) {
        if ($(this).is(':checked'))
            counter++;
    });
    alert(counter);
}

este es mi Gridview & cuadro de texto :

    <asp:GridView ID="gvDepositOrderDetail" runat="server" CssClass="table table-hover table-striped table-bordered"
                    AutoGenerateColumns="false" ShowHeaderWhenEmpty="True" AllowPaging="true"
                    PagerStyle-CssClass="paging" PageSize="10" OnRowDataBound="gvDepositOrderDetail_RowDataBound">
                    <PagerStyle CssClass="gridviewPager" />
                    <RowStyle CssClass="" />
                    <AlternatingRowStyle CssClass="active" />
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <asp:CheckBox ID="chkBoxGrdParty" runat="server" Checked="false" />
                                <asp:HiddenField ID="hdnDepositOrderId" runat="server" />
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$Resources:ORDER_NO %>">
                            <ItemTemplate>
                                <asp:Label ID="lblOrderNo" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$ Resources:CASE_PARTY_NAME %>">
                            <ItemTemplate>
                                <asp:Label ID="lblCasePartyName" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center small-column" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$ Resources:AMOUNT %>">
                            <ItemTemplate>
                                <asp:Label ID="lblAmount" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$ Resources:DEPOSIT_TYPE %>">
                            <ItemTemplate>
                                <asp:Label ID="lblDeopsitType" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$ Resources:DEPOSIT_SOURCE %>">
                            <ItemTemplate>
                                <asp:Label ID="lblDepositSource" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <asp:TemplateField HeaderText="<%$ Resources:DECISION_DATE %>">
                            <ItemTemplate>
                                <asp:Label ID="lblDecisionDate" runat="server"></asp:Label>
                            </ItemTemplate>
                            &lt;HeaderStyle CssClass="text-center" />
                            <ItemStyle CssClass="text-center" />
                        </asp:TemplateField>

                        <%--       <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkBtnViewDetail" CausesValidation="false" CommandName="ViewDetail" CssClass="btn btn-primary btn-sm"
                            runat="server"></asp:LinkButton>
                    </ItemTemplate>
                    &lt;HeaderStyle CssClass="text-center" />
                    <ItemStyle CssClass="text-center" />
                </asp:TemplateField>--%>
                    </Columns>
                    <EmptyDataTemplate>
                        <asp:Literal ID="ltrlEmptyData" runat="server" Text="<%$ Resources:Common,EMPTY_DATA_GRID%>"></asp:Literal>
                    </EmptyDataTemplate>
                </asp:GridView>

Cualquier sugerencia muy apreciada!

  • qué hay de malo con la solución actual ?
InformationsquelleAutor John | 2014-06-05

2 Comentarios

  1. 1

    Usted es un protector ^_^
    Tengo una lista de casillas de verificación en un gridView, quiero mostrar el recuento de los seleccionados cheques sin tener que devolver al servidor, esta fue la solución óptima :))

           $(document).ready(function () {
               $('*[id^="myCheckBox"]').change(function () {
                   var counter = 0;
                   $("#<%=gvChecks.ClientID%> input[id*='myCheckBox']:checkbox").each(function  (index) {
                       if ($(this).is(':checked'))
                           counter++;
                   });
                   var the_label = document.getElementById('lblSelectedCount');
                   the_label.textContent = counter;
                   //alert(counter);
               })
           });
  2. 0

    Código JQuery :

         function gvDepositOrderDetail_OnRowChecked(checkBoxElement, newAmount, targetElement)
        {
            var amountElement = $find(targetElement);
            var amount = amountElement.get_value() == ''? 0 : amountElement.get_value() - 0;
            if (isNaN(amount)) {
                amount = 0;
            }
            if (checkBoxElement.checked == false)
            {
                newAmount = newAmount * -1;
            }
            amount = amount + newAmount;
            amountElement.set_value(amount) ;
        }

    de Código subyacente :

    chk.Attributes.Add("onclick", string.Format("javascript:gvDepositOrderDetail_OnRowChecked(this,{0},'{1}');", lblAmount.Text, txtAmount.ClientID));

Dejar respuesta

Please enter your comment!
Please enter your name here