首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery调查问卷

jquery调查问卷
EN

Stack Overflow用户
提问于 2010-10-31 19:48:20
回答 2查看 2.2K关注 0票数 0

我正在尝试创建一个jquery调查问卷,但我的jquery知识对我没有帮助。

到目前为止,我所拥有的是以下http://valogiannis.com/stackoverflow/quest.html

当您单击“问题”时,将打开一个包含两个问题的弹出窗口。

我想要的是:当用户点击两个答案中的一个时,脚本检查他的答案。数组CheckFirstAnswer负责“判断”第一个答案是错误还是正确,0代表错误,1代表正确。如果用户点击正确的答案,那么我想显示下一个问题及其答案,从数组问题,FirstAnswer,SecondAnswer,否则相应的结论成比例的I值。

如果有任何帮助,我将不胜感激。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-31 20:33:45

[]

问题管理器

代码语言:javascript
复制
// question number
var currentQ = -1;

function showNewQuestion(el) {
    currentQ++; // increment question number
    $('.messagepop').html( Question[currentQ] + '<br />' + 
                          '<a href="#" class="first">' 
                             + FirstAnswer[currentQ] + '</a><br />' + 
                          '<a href="#" class="second">' 
                             + SecondAnswer[currentQ] + '</a><br />' + 
                          '<a href="#" class="close">close</a>' );
}

function validate(answer) {
    var firstIsTrue = CheckFirstAnswer[currentQ];

    // correct answer (new question)
    if (  firstIsTrue && answer == 1
      || !firstIsTrue && answer == 2 ) {
      showNewQuestion(); 
    } 

    // incorrect answer (conclusion)
    else  {
       $('.messagepop').html(Conclusion[currentQ]);
    }
}

单击处理程序

代码语言:javascript
复制
$(function () {

  $("#container_div").live('click', function (event) {

    // which element was clicked
    var el = $(event.target);

    // first answer was clicked
    if (el.hasClass("first")) {
        validate(1);
    } 

    // second answer was clicked
    else if (el.hasClass("second")) { 
        validate(2);
    } 

    // questions opener was clicked
    else if (el.attr("id") == "questions") {
        el.addClass("selected").parent()
          .append('<div class="messagepop pop" />');
        showNewQuestion();
        $(".pop").slideFadeToggle();
    } 

    // popup close was clicked
    else if (el.hasClass("close")) {
        $(".pop").slideFadeToggle();
        $("#questions").removeClass("selected");
    }
  });
});
票数 2
EN

Stack Overflow用户

发布于 2010-10-31 20:07:05

您应该使用$.ajax发回答案,以便服务器可以评估答案并发送下一个问题。目前,任何有JS基础知识的人都可以看到CheckFirstSnswer数组并知道正确答案。您在网站上有一个HTML页面,因此我不知道您正在使用的服务器端编程语言。

创建一个接受来自此页面的帖子并评估请求的新页面。此页面会将问题id、选择的答案和已授权的用户id发送到新页面。新页面将在服务器端维护分数并发送下一个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4062954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档