1

選択したチェックボックスから ID を使用していくつかの値を渡します

投稿する配列の値を収集していますが、タイトルの値も合計したいのですが、これを行うことができません...

どこが間違っていますか?返される変数の呼び出しでそれを知っていますが、それを取得する方法がわかりません

function doAlloMath(){


        var sum=0;

        alert($("input[name=alloInv]:checked").map(function () {return this.value;}).get().join(","));
        alert($("input[name=alloInv]:checked").map(function () {return this.title;}).get().join(","));
        alert($("input[name=alloInv]:checked").each(function (a,b) {sum += parseFloat ($(this.title)); return sum;}).get());



    }
4

3 に答える 3

1

あなたの $(this.title) は、 $.each() のコンテキストで予期しない何かを指している可能性があると思います

于 2012-12-03T21:55:06.170 に答える
0

あなたのHTMLは次のようになっていると思います:

<input type="checkbox" name="alloInv" value="10.0" />
<input type="checkbox" name="alloInv" value="20.0" />

チェックされているものを合計するには、次を使用できます。

var sum = 0;
$('input[name="alloInv"]').filter(':checked').each(function() {
    sum += parseFloat(this.value);
});
alert(sum);
于 2012-12-03T21:56:13.047 に答える
0

明示的に設定されていない限り、チェックボックスには値がありません。チェックボックスがチェックされているかどうかを確認するには、使用する必要がありますprop('checked');

次のようなことをもっと試すことができます:

function doAlloMath() {
    var sum = 0,
        elm = $("input[name=alloInv]:checked"),

        values = elm.map(function() {
            return this.value;
        }).get().join(","),

        titles = elm.map(function() {
            return this.title;
        }).get().join(",");

    elm.each(function(idx, elem) {
        sum += parseFloat(this.title);
    });

    console.log(sum);
    console.log(values);
    console.log(titles);
}​
于 2012-12-03T21:53:08.387 に答える