2012-11-30 48 views
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文件。

問題是,當我console.log resultsView,它只添加一個問題/答案多次。將操作符更改爲+ =也不起作用。我究竟做錯了什麼?

+0

什麼是輸入?什麼是輸出?您提供的信息越多,我們就越容易回答,答案也就越多。請考慮創建一個http://jsfiddle.net/演示。 –

+1

您可以創建小提琴或演示嗎?由於我不太理解'多次添加一個問題/答案'。 – SubRed

+0

你可能想調用push方法。 resultsView.push({「text」:「foo」,「answer」:「bar」}); – Jeemusu

回答

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"]); 
}); 

感謝

+0

你是完全正確的Sridhar ...沒有問題。我很尷尬。輸出到控制檯的格式與我期望的格式不同,它看起來很糟糕。感謝您願意幫助。 – ccnokes