2012-12-27 23 views
-1

檢查這個代碼了:獲取相對順序,結果

var test = new Array(); 

//I need each() to get the data from every row 
$(".quiz_list_row").each(function(index){ 

    // Gets the data necessary from HTML5 tag data 
    $quiz_list_id = $(this).data("quizlistId"); 
    $quiz_level_reached = $(this).data("quizlevelReached"); 

    test [0] = new Array($quiz_list_id,$quiz_level_reached); 

    $(this).click(function(){ 
    alert("test: "+test.toString()); 
    }); 
)}; 

的div是這樣的(這是正確的):

<div class="quiz_list_row" data-quizlist-id="1" data-quizlevel-reached="5"> 
    <div class="inline" id="quiz_list_cell_id1">Quiz 1</div> 
    <div class="inline" id="quiz_list_cell_id2">Current level: 5</div> 
</div> 
<div class="quiz_list_row" data-quizlist-id="2" data-quizlevel-reached="7"> 
    <div class="inline" id="quiz_list_cell_id1">Quiz 2</div> 
    <div class="inline" id="quiz_list_cell_id2">Current level: 7</div> 
</div> 

所以,當我點擊第一個div,這是應該第一次警報顯示「1,5」,第二次警報顯示「2,7」,我相反。

+0

我看到覆蓋「測試」'我必須修復=) – Th3B0Y

+1

忽略語法錯誤,它應該在任何地方點擊時顯示「2,7」。循環的每次迭代都會覆蓋相同的'test [0]'數組。 – JJJ

+3

我不認爲它會導致此問題,但HTML ID必須是*唯一的*。目前,您有兩個ID爲'quiz_list_cell_id1'的元素和兩個'quiz_list_cell_id2'。這是無效的HTML,稍後可能會讓你頭痛。 –

回答

0

下面是我所做的更改:

var test = new Array(); 

$(".quiz_list_row").each(function(index){ 
     // Gets the data necessary to show game chosen 
     $quiz_list_id = $(this).data("quizlistId"); 
     $quiz_level_reached = $(this).data("quizlevelReached"); 

      test.push($quiz_list_id,$quiz_level_reached); 

     $(this).click(function(){ 
      alert("test: "+test); 
     }); 

}); 

的div:

<div class="quiz_list_row" data-quizlist-id="1" data-quizlevel-reached="5"> 
    <div class="inline quiz_list_cell" id="quiz_list_cell_row0_id1">Quiz 1</div> 
    <div class="inline quiz_list_cell" id="quiz_list_cell_row0_id2">Current level: 5</div> 
</div> 
<div class="quiz_list_row" data-quizlist-id="2" data-quizlevel-reached="7"> 
    <div class="inline quiz_list_cell" id="quiz_list_cell_row1_id1">Quiz 2</div> 
    <div class="inline quiz_list_cell" id="quiz_list_cell_row1_id2">Current level: 7</div> 
</div> 

學分是評論,好嗎?

0

你是在環路上的每一個通寫test[0]

嘗試用替換test[0]=

test.push([$quiz_list_id,$quiz_level_reached]) 
+0

謝謝你的建議! =) – Th3B0Y