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 に答える