1

値を動的に取得するラジオボタンがいくつかあります。次に、値をキャッチして合計し、テキストボックスに適切に表示されるようにするJavaScriptをいくつか用意しました。

(基本的には、合計値に値を加算する電卓のようなものです)

これで、誰かが別のラジオボタンを選択した場合でも、その値は追加されますが、そのグループの最後のボタンの値は差し引かれません。それが私がする必要があることは、選択解除された値を引くことです。

フォームの値は次のようになります。"5/55"ここで、55は値に使用している数値です。更新しているテキストフィールドは「通知」と呼ばれます。これで、通知フィールドに新しく選択したラジオボタンの値を正常に追加していることがわかります。グループで新しい値が選択されたときに、古い値を削除するにはどうすればよいですか?

これが私が使用しているjavascriptです:

<script>
function eventTrigger (e) {
    if (! e)
        e = event;
    return e.target || e.srcElement;
}

function radioClick (e) {
    var obj = eventTrigger (e);
    var notify = document.getElementById &&
                    document.getElementById ('notify');
    if (notify)
    var partsArray = obj.value.split('/');
        notify.value = Number(notify.value) + Number(partsArray[1]);
    return true;
}
</script>

助けてくれてありがとう!

4

1 に答える 1

0

シンプルに保つ:何かが変わるたびに、最終結果を最初から再計算します。古い値を減算することをいじくり回すと、非常に迅速に複雑になる可能性があり、高速化の恩恵を受ける実行する非常に複雑な計算がない限り、それだけの価値はありません。したがって、ユーザーが選択を変更するたびに、現在選択されている値に基づいて合計を計算します。終わり。

于 2011-05-02T08:50:41.737 に答える