通过jquery在网格上添加合计不起作用

本文关键字:不起作用 添加 jquery 网格 通过 | 更新日期: 2023-09-27 18:00:56

不确定我在这里做错了什么,但我有一个网页,在更新面板中封装了一个用户控件。此用户控件有一个网格视图,其中ItemTemplate中有一个文本框,页脚模板中有一条文本框。页脚模板中的文本框应该从jquery中的函数中获取计算值。下面是我的脚本来获得总数,但总数没有计算出来。请告诉我在这里做错了什么。此外,如果我需要提供更多信息,请告诉我。此脚本在母版页中。我测试了jquery,通过将警报放在它工作的文档准备好之后,来确保它工作正常。如有任何帮助,我们将不胜感激。

<script language="javascript">
    var totalQuantity = 0;
    $(document).ready(function() {
    //alert('This is test');
    $(document).on('blur', 'input[id^="MainContent_MainContent_ucProjectionSet3_upProjections"]', function() {
            alert('This is test');
            totalQuantity = 0;
            $('input[id^="MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_"]').each(function(index) {
                doTotalCal($(this).attr("id"));
            });
        });
        function doTotalCalc(_id) {
            var indexVal = _id.Replace("MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_", "");
            console.log(indexVal);
            var strTotalQuantity = $('input[id^="MainContent_MainContent_ucProjectionSet3_gvProjections_txtCurrentTime_' + indexVal + '"]').val().replace("$", "");
            totalQuantity += Number(strTotalQuantity);
        }
        $("#MainContent_MainContent_ucProjectionSet3_gvProjections_lblCurrentTimeTotal").html(totalQuantity);
    }); 
</script>

通过jquery在网格上添加合计不起作用

我能够在不使用更新面板的情况下完成这项工作。对于这个项目,我不需要异步回发,所以删除它是使jquery工作的一个很好的选择。

<script type="text/javascript">
    $(document).ready(function() {
    $("[id*=gvProjections]input[type=text][id*=txtCurrentTime]").keyup(function(e) {
            GrossTotal();
        });
    });
    var gross;
    function GrossTotal() {
        gross = 0;
        $("[id*=gvProjections]input[type=text][id*=txtCurrentTime]").each(function(index, item) {
            gross = gross + Number($(item).val());
        });
        $("[id*=gvProjections][id*=lblCurrentTimeTotal]").text(gross);
    }
    function isNumberDecimalKey(evt) {
        var charCode = (evt.which) ? evt.which : event.keyCode;
        if (charCode == 46) //decimal
            return true
        else if (charCode > 57 || (charCode > 31 && charCode < 48))
            return false;
        else
            return true;
    }