0

現在、テーブルには 2 つのループと 1 つの配列が取り込まれています。入力に配置したクラスを通じてすべてを制御する必要があります。しばらくこれに取り組んできましたが、いくつかの洞察が役に立ちます。

ループと入力は次のとおりです。

            <cfloop from="1" to="#ArrayLen(labels)#" index="r">
        <tr>
            <td class="labels"><cfif ArrayIsDefined(labels,r) AND labels[r] NEQ "Open">#labels[r]#</cfif></td>
            <cfloop from="1" to="7" index="i">
            <td id="Day#i#" class="row#r# col#i#">
                <cfif r EQ 1>#Left(DayOfWeekAsString(i),3)#<cfelse><cfif r EQ 2><input type="text" class="date-mask" /><cfelse><input type="text" class="R#r# C#i#" onkeypress="return HorizVertiCalc(#r#, #i#)" /></cfif><cfif r EQ 25><input type="text" class="dailyTot#r#" onkeypress="return VertiCalc(#i#)" /></cfif></cfif></td>
            </cfloop>
            <td class="totals"><cfif r EQ 1>Total<cfelse><input type="text" class="ttl#r# vttl#i#" readonly="readonly" /></cfif></td>
        </tr>
        </cfloop>

そして、これが私が現時点で持っているJavascriptです:

         HorizVertiCalc = function(h, v){
            $('.R'+h).sum("keyup", ".ttl"+h);
            $('.C'+v).sum("kepup", ".dailyTot"+h);

            if($('.R'+h) == $('.R4')){
                Number($(this).val()) * <cfoutput>#mileage#</cfoutput>;
                $(this).sum("keypup", ".R5");
                }
            } 

        VertiCalc = function(v){

            alert($('.C'+v));
        }

毎日の合計、総合計、および各カテゴリの合計を取得できる必要があります (これは今すぐ実行できます)。また、マイレージ # を変数 #mileage# に固有の数値で乗算し、そのセルの合計をそのすぐ下に表示できるようにする必要があります。

良い。それはたくさんあります。誰かが助けてくれるなら、それは大歓迎です!

4

1 に答える 1

0

コードがどのように機能するかを正確に知らなくても、いくつかの提案/観察があります。

「keyup」、「kepup」、「keypup」があることに気付きました。それらはすべて異なることを意味していますか?

Number() が正確に何をするかはわかりませんが、数学を実行する前に isNaN() チェックと組み合わせて parseFloat() を使用できます。

あなたの Javascript コードは jQuery だと思いますか? jQuery の比較を行っています: if($('.R'+h) == $('.R4')) これは常に false を返すのではないかと疑っています (このページで示唆されているように:) http:// groups.google.com/group/jquery-en/browse_thread/thread/002d7543186ddaa6

ジェームズ

于 2009-07-31T14:04:15.617 に答える