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

});
4

1 回答 1

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;
    });
});​
于 2012-12-04T18:12:13.333 回答