基于drag& amp;的jquery验证丢弃的物品

时间:2012-11-28 22:29:57

标签: javascript jquery-ui drag-and-drop

我正在尝试尽可能多地了解jquery,查看网络上的许多示例,但仍然遇到事件问题。

正如你所看到的,我使用jquery UI做了一个简单的拖放操作,但我找到的所有例子都没有帮助我验证这一点。

我创建了correctAnswers,但问题是我不知道如何验证它们。由于很容易看到,'a'变为1,'b'变为2,'c'变为3,当我点击'submit'按钮时,它会验证。

var correctAnswers = ['a-1,b-2,c-3'];

$('.dragAble').draggable({
    containment: "#content",
    cursor: "move",
    snap: ".dropAble"
});
if (answers === correctAnswers) {
    $("#win").show();
} else {
    $("#fail").show();
};​

JSFiddle

1 个答案:

答案 0 :(得分:1)

试试这段代码:

var correctAnswers = ['a-1', 'b-2', 'c-3'];
var results = [];

$('.dragAble').draggable({
    containment: "#content",
    cursor: "move",
    snap: ".dropAble",
});

$( ".dropAble" ).droppable({
    drop: function( event, ui ) {
        results.push($(ui.draggable).attr("id") + '-' + $(this).attr("id"));
    }
});

$("#submit").click(function(){
    console.log(results);
    result = true;
    $.each(results, function(index, value){
        if($.inArray(value, correctAnswers ) == -1){
            result = false;
        }

        if(!result) return;
    });

    if (result) {
        $("#win").show();
    } else {
        $("#fail").show();
    };
});​

这里是小提琴http://jsfiddle.net/aanred/x3jF3/。但是这段代码只有你需要的基本功能来改进它。