使用Javascript访问GridView页脚中的Label控件 - javascript

如何为$mult中存在的标签lblGrandTotal分配FooterTemplate值。

我已经在Java代码下面使用了$mult值来指定存在于网格视图之外的标签。

的JavaScript

<script>
    $(document).ready(function () {
        $(".txtMult input").on('keyup mouseup', multInputs);

        function multInputs() {

            var $mult = 0;
            // calculate Grand total
            $("tr.txtMult").each(function () {
                // get the values from this row:
                var $UnitPrice = $('.UnitPrice', this).val();
                var $Quantity = $('.Quantity', this).val();
                var $Discountvalue = $('.Discount', this).val() / 100;
                var $total = (($UnitPrice) * ($Quantity));
                $mult += $total;

            });

            // for each row:
            $("tr.txtMult").each(function () {
                // get the values from this row:
                var $UnitPrice = $('.UnitPrice', this).val();
                var $Quantity = $('.Quantity', this).val();
                var $Discountvalue = $('.Discount', this).val() / 100;
                var $total = (($UnitPrice) * ($Quantity));
                $('.multTotal', this).text(Math.round($total * 100) / 100);
            });
            $("#<%=Total.ClientID %>").text(Math.round($mult * 100) / 100);
        }
    });
</script>

网格视图

<asp:GridView ID="gridpur" CssClass="table  text-nowrap" ShowFooter="true" runat="server" OnRowDataBound="gridpur_RowDataBound" AutoGenerateColumns="False" DataKeyNames="ItemID" DataSourceID="SqlDataSource1">
    <Columns>
        <asp:TemplateField HeaderText="Quantity">
            <ItemTemplate>
                <asp:TextBox ID="txtCalcQuantity" CssClass="Quantity form-control" runat="server"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Unit Price">
            <ItemTemplate>
                <asp:TextBox ID="txtCalcUnitprice" Width="120" CssClass="UnitPrice form-control" runat="server"></asp:TextBox>
            </ItemTemplate>

        </asp:TemplateField>

        <asp:TemplateField HeaderText="Amount">
            <ItemTemplate>
                <asp:Label ID="lblTotal" runat="server" CssClass="multTotal" Text="0"></asp:Label>
            </ItemTemplate>
            <FooterTemplate>
                <asp:Label ID="lblGrandTotal" Text="" runat="server" />
            </FooterTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

后面的代码

protected void gridpur_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.CssClass = "txtMult";
    }
}

javascript大神给出的解决方案

如果页面上只有一个ID为lblGrandTotal的控件,则可以将其ID模式设置为“静态”,这将确保这恰好是最终标记中显示的客户端ID。这样您就可以直接在js代码中使用此ID:

<asp:Label ID="lblGrandTotal" Text="" runat="server" ClientIDMode="Static" />

现在,您不再需要任何脚本片段,只需文字ID:

$("lblGrandTotal").text(Math.round($mult * 100) / 100);

同样,只有在此页面上有一个具有此ID的控件时,这才有可能。

替代解决方案是分配您可以查询的内容。例如,CssClass将是某种标准的方法。

<asp:Label ID="lblGrandTotal" Text="" runat="server" CssClass="grandTotalLabel" />

无需在样式表中定义此类。同样,只需确保它没有在其他任何地方使用。现在只查询它:

$(".grandTotalLabel").text(Math.round($mult * 100) / 100);

PHP stringID无法从回显中读入onclick - javascript

我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…

在php中单击按钮添加表行并设置字段值 - javascript

我有一个表单,必须在单击按钮时添加表行。这是我必须动态添加的表行:(addProdToGroup.php)<tr style="text-align: center;" id="products"> <td><?php $j ?></td> <td><s…

如果复选框切换复选框已选中,则在切换div中输入必填字段 - javascript

我使用脚本用JavaScript切换了一些div。如果要选中复选框以显示toogle div,我想在toogle div中设置一些“必填”输入字段。有人能弄清楚吗?那是工作吗?function show(id) { if(document.getElementById) { var mydiv = document.getElementById(id); m…

淘汰赛在金字塔中的行为不正确 - javascript

我正在使用Pyramid构建一个Webapp,但是Knockout的行为有所不同。我有一个表格: <div data-bind="with: $root.itemToAdd" style="display: none;"> <form data-bind="submit: $root.add…

Javascript无法在Heroku的Django应用中呈现 - javascript

在Heroku上部署了Django应用,在我的主页之后,之后的每个页面都不呈现Amazon S3上托管的Javascript文件,但是在Inspect Element中打开Console时,似乎一切都很好。我的HTML文件的标题如下#questions.html <link rel="stylesheet" type="t…