2012-12-04 61 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

欢迎:) –

相关问题