比较用户输入和对象

时间:2012-12-04 17:09:02

标签: jquery json

我目前正在做的是将用户输入与没有页面刷新的答案数组进行比较。这很好。

我需要做的是执行上述操作,并将输入的输入时间与秒数进行比较,这是对象中的另一个值。为简单起见,我们现在说时间是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 个答案:

答案 0 :(得分: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;
    });
});​