jQuery拖放相应的答案验证

时间:2014-07-17 17:55:20

标签: jquery

我正在构建一个拖放式测验,您可以将答案放入答案池中的相应列中。

您可以在每列中添加有限数量的答案。

我大部分时间都在工作。但是,编写工具的方式,每个答案位只能有一个正确的答案,我希望有多个正确的答案。

例如: http://jsfiddle.net/Hr465/

在第一列中,正确的答案是“挑战现状”和“采取风险”。 然而,扭转秩序,“冒风险”在“挑战现状”的基础上,答案出错了。

问题归结为验证功能的这一行

        if($('#mover'+x).parent().attr('id') == "takercontent"+x){

基本上我想用&&重写这个。所以第一栏#mover1&& #mover2,第二栏等等。

1 个答案:

答案 0 :(得分:1)

使用类,而不是使用所有这些ID,然后您可以使用hasClass方法进行验证。您仍然可以使用ID,以便您的节目答案有效。

WORKING JS FIDDLE

新的验证码:

function validateactivity(){

    for(var x=1; x<=totalmovers; x++){
        if($('#mover'+x).parent().hasClass("takercontent"+x)){
            $('#mover'+x).parent().css('border','2px solid #0F0'); //green
        } else {
            $('#mover'+x).parent().css('border','2px solid #F00');
        }
    } 
}

新HTML:

        <div class="takers" id="taker1">
            <div class="takerheader">Courage to Innovate</div>
            <ul class="takercontent takercontent1 takercontent2" id="takercontent1"></ul>
            <ul class="takercontent takercontent1 takercontent2" id="takercontent2"></ul>
        </div>

        <div class="takers" id="taker2">
            <div class="takerheader">Behavioural Skills</div>
            <ul class="takercontent  takercontent6 takercontent5 takercontent4 takercontent3" id="takercontent3"  ></ul>
            <ul class="takercontent  takercontent6 takercontent5 takercontent4 takercontent3" id="takercontent4" ></ul>
            <ul class="takercontent  takercontent6 takercontent5 takercontent4 takercontent3" id="takercontent5" ></ul>
            <ul class="takercontent takercontent6 takercontent5 takercontent4 takercontent3" id="takercontent6"></ul>
        </div>

        <div class="takers" id="taker3">
            <div class="takerheader">Cognitive Skill to synthesize novel inputs</div>
            <ul class="takercontent takercontent7" id="takercontent7"></ul>
        </div>

        <div class="takers" id="taker4">
            <div class="takerheader">Leads to…</div>
            <ul class="takercontent takercontent8" id="takercontent8"></ul>
        </div>