0

いくつかの DOM 要素をループして、キーと値のペアを持つオブジェクトを作成しようとしています。

私が行っていることの全体的なコンテキストに関する背景: コードのこのセクションは、私が作成しているアンケートの一部です。

これは問題のコードです:

var resultsView = {};        
function sumAnswers(className) {
       //some stuff here

        $(className:checked).each(function() {
        //some other code here to sum answers  

        var text = $(this).siblings('.question').text();
        var answer = $(this).next('label').text();
        resultsView[text] = answer;
        });
  }

質問テキストと選択した回答テキストをキーと値の関係でオブジェクトに追加しようとしています。これにより、後でAJAXを介してPHPファイルに渡すことができます。

問題は、resultView を console.log にすると、1 つの質問/回答しか追加されないことです。演算子を += に変更しても機能しません。私は何を間違っていますか?

4

1 に答える 1

0

そのような問題は見当たりません。以下の jsfiddle で確認してください。

http://jsfiddle.net/sZYaf/19/

上記のケースで同様のコードを作成しました

$("#check").click(function(){

var resultsView = {};
$(".check:checked").each(function() {
    //some other code here to sum answers  

    var text = $(this).siblings('.question').text();
    var answer = $(this).next('label').text();
    resultsView[text] = answer;

    });
 alert(resultsView["question1"]  + resultsView["question2"] );
});

ありがとう

于 2012-11-30T04:40:50.993 に答える