0

友達の助けを借りてこのコードを作成しました。今、私は以下のように機能を追加しようとしていました. しかし、私は成功を収めることができませんでした。

ここにフィドルがあります。

フィドル: http://jsfiddle.net/FLgsq/

jqueryコード:

$(document).ready(function () {
    $('#word_count').wordCount();
});

jQuery.fn.wordCount = function (params) {
    var p = {
        counterElement: "display_count"
    };
    var total_words;

    if (params) {
        jQuery.extend(p, params);
    }

    //for each keypress function on text areas
    this.keypress(function () {
        total_words = this.value.split(/[\s\.\?]+/).length;
        jQuery('#' + p.counterElement).html(total_words);
    });
};

$(document).ready(function () {
    $('input[name=rdOptin]').click(function () {
        var selected = $(this).val();
        var var0 = 0.3;
        var var1 = 20;
        var var2 = var1 * 3.9 / 100;
        var var3 = 20;
        var var4 = (var1 + var3) * 3.9 / 100;
        if (selected == 'norm')
            var total = var0 + var1 + var2;
        else
            var total = var0 + var1 + var3 + var4;
        $("#calc_value").html("<span style='color: red;'>Numbers</span> <span style='color: green;'>" + total.toFixed(2) + "</span>");
    });
});

私が達成しようとしていたのは、テキストフィールド内の単語数 (関数 "jQuery.fn.wordCount" によって既にカウントされている) が 13 を超えて増加した場合、変数 "total" の出力がそれに応じて変化することです。既存の機能を使用します(つまり、無線「rdOptin」も監視し、それに基づいて計算を行っています)。むしろ、+5 を追加するか、数値が 13 から 18 の間の場合は、「計算値:」部分の出力に 5 を追加し、18 から 23 が 10 を追加すると、24 から 28 が 15 を追加します。取ることができます。

どうすればそれを行うことができますか?

4

1 に答える 1

1
$(document).ready(function () {
    $('input[name=rdOptin]').click(function () {
        var selected = $(this).val();
        var var0 = 0.3;
        var var1 = 20;
        var var2 = var1 * 3.9 / 100;
        var var3 = 20;
        var var4 = (var1 + var3) * 3.9 / 100;
        if (selected == 'norm')
            var total = var0 + var1 + var2;
        else
            var total = var0 + var1 + var3 + var4;
        var wordcount = parseInt($("#display_count").html(), 10);
        if (wordcount >= 13) {
            var inc = Math.ceil((wordcount-12)/5);
            total += inc;
        }
        $("#calc_value").html("<span style='color: red;'>Numbers</span> <span style='color: green;'>" + total.toFixed(2) + "</span>");
    });
});

フィドル

于 2013-07-24T11:27:57.970 に答える