2012-12-04 91 views
0

我目前所做的是將用戶輸入與不包含頁面刷新的答案數組進行比較。這工作正常。將用戶輸入與對象進行比較

我需要做的是做到上述,並將輸入的時間與對象中另一個值的秒數進行比較。爲了簡單起見,我們假設時間是20。我如何做比較

我已經將答案推到一個數組中,但我打開其他方法。

[ 
    { 
     "id": "1", 
     "seconds": "20", 
     "answer": "John"   
    }, 
    { 
     "id": "2", 
     "seconds": "40", 
     "answer": "kwai" 
    } 
] 

JS

var score = 0; 
var items = []; 
$.getJSON('urlpath', function(data) { 
    $.each(data, function(key, val) { 
     items.push(val.answer);    
    });  

    $('#form_submit').click(function() {    
     var qS = $('#form_answer').val(); 
     $.ajax({ 
       type:"GET", 
       url:"", 
       data: qS, 
       datatype: 'html'     
     });    

     if ($.inArray(qS, items) > -1) { 
       //Do something    

     } 
     else { 
       //Do nothing 
     } 
     return false; 
    }); 

}); 

回答

1

試試這個:

var score = 0; 
var items = []; 
$.getJSON('urlpath', function(data) { 
    $.each(data, function(key, val) { 
     items.push([val.seconds, val.answer]); 
    }); 

    $('#form_submit').click(function() { 
     var answer = $('#form_answer').val(); 
     var seconds = $('#form_seconds').val(); 

     var matches = $.grep(items, function(el) { 
      return (el[0] == seconds && el[1] == answer); 
     }); 

     if (matches.length > 0) { 
      //Lenght > 0, if specified values within an array    
     } 
     else { 
      //Do nothing 
     } 
     return false; 
    }); 
});​ 
+1

完美!謝謝! – gables20

+0

歡迎:) –

相關問題