0

不知道我在这里做错了什么,但我有一个网页,其中包含一个包含在更新面板中的用户控件。这个用户控件有一个网格视图,在 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>
4

1 回答 1

0

我能够在不使用更新面板的情况下完成此操作。我不需要为此项目进行异步回发,因此删除它是使 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;
    }

于 2013-02-25T16:40:02.093 回答