0

ここで何が間違っているのかわかりませんが、更新パネルにラップされたユーザーコントロールを持つ Web ページがあります。このユーザー コントロールには、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 に答える