RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1256490
Accepted
Aleksandr
Aleksandr
Asked:2022-03-16 14:40:56 +0000 UTC2022-03-16 14:40:56 +0000 UTC 2022-03-16 14:40:56 +0000 UTC

如何在jQuery中显示条件比较?

  • 772

有一个 5 列的简短调查,其中有 5 个答案选择。

我做了最基本的条件,如果答案超过2分,那么这个答案就赢了。

但是如果答案有 2 分,其余的有 1 分呢?如何计算获胜者?

TK原本是:

  1. 五个问题。

  2. 他们有 5 个答案。

  3. 5 位作者参与所有问题;附有 5 瓶葡萄酒的最终结果。

  4. 哪个作家获得了更多选定的答案,然后在最后向用户提供一瓶附在特定作家身上的酒。

  5. 如果没有获胜者,则将随机抽取一瓶。

$(document).ready(function() {
  $('.js__control').click(function() {
    let js__remarkCount = $('.js__remark:checked').length,
      js__mayakovskyCount = $('.js__mayakovsky:checked').length,
      js__bulgakovCount = $('.js__bulgakov:checked').length,
      js__fitzgeraldCount = $('.js__fitzgerald:checked').length,
      js__hemingwayCount = $('.js__hemingway:checked').length;


    if (js__remarkCount > 2) {
      $('.result').text('js__remark: ' + js__remarkCount);
      console.log('js__remark: ' + js__remarkCount);
    } else if (js__mayakovskyCount > 2) {
      $('.result').text('js__remark: ' + js__mayakovskyCount);
      console.log('js__mayakovsky: ' + js__mayakovskyCount);
    } else if (js__bulgakovCount > 2) {
      $('.result').text('js__remark: ' + js__bulgakovCount);
      console.log('js__bulgakov: ' + js__bulgakovCount);
    } else if (js__fitzgeraldCount > 2) {
      $('.result').text('js__remark: ' + js__fitzgeraldCount);
      console.log('js__fitzgerald: ' + js__fitzgeraldCount);
    } else if (js__hemingwayCount > 2) {
      $('.result').text('js__remark: ' + js__hemingwayCount);
      console.log('js__hemingway: ' + js__hemingwayCount);
    } else {
      /* Вот тут как-то надо найти победителя */

      console.log('js__remark: ' + js__remarkCount);

      console.log('js__mayakovsky: ' + js__mayakovskyCount);

      console.log('js__bulgakov: ' + js__bulgakovCount);

      console.log('js__fitzgerald: ' + js__fitzgeraldCount);

      console.log('js__hemingway: ' + js__hemingwayCount);
    }


    $('.quiz').addClass('hide').next('#final').removeClass('hide');
  });
});
.quiz {
  display: flex;
  flex-wrap: wrap;
}

.box {
  width: 50%;
}

.js__control {
  width: 100%;
  padding: 8px;
  margin-top: 32px;
}

.item {
  display: block
}

.hide {
  display: none
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="quiz">
  <div class="box">
    <h3>Вы влюбились. Как будете завоевывать объект воздыханий?</h3>


    <label class="item">
      <input type="radio" name="1" class="js__remark" checked>
      Начну очаровывать безупречными манерами (Ремарк)
    </label>


    <label class="item">
      <input type="radio" name="1" class="js__mayakovsky">
      Задарю подарками (Маяковский)
    </label>


    <label class="item">
      <input type="radio" name="1" class="js__bulgakov">
      Посвящу роман (Булгаков)
    </label>


    <label class="item">
      <input type="radio" name="1" class="js__fitzgerald">
      Позову на танцы (Фицджеральд)
    </label>


    <label class="item">
      <input type="radio" name="1" class="js__hemingway">
      Никак, я красив и талантлив (Хемингуэй)
    </label>
  </div>


  <div class="box">
    <h3>Какое у вас хобби?</h3>


    <label class="item">
      <input type="radio" name="2" class="js__hemingway" checked>
      Спорт (Хемингуэй)
    </label>


    <label class="item">
      <input type="radio" name="2" class="js__bulgakov">
      Настольные игры (Булгаков)
    </label>


    <label class="item">
      <input type="radio" name="2" class="js__remark">
      Коллекционирование (Ремарк)
    </label>


    <label class="item">
      <input type="radio" name="2" class="js__fitzgerald">
      Музыка (Фицджеральд)
    </label>


    <label class="item">
      <input type="radio" name="2" class="js__mayakovsky">
      Игра в бильярд (Маяковский)
    </label>
  </div>


  <div class="box">
    <h3>Как бы вы описали свой характер?</h3>


    <label class="item">
      <input type="radio" name="3" class="js__hemingway" checked>
      Властный, мужественный, бесстрашный (Хемингуэй)
    </label>


    <label class="item">
      <input type="radio" name="3" class="js__bulgakov">
      Обаятельный и ранимый (Булгаков)
    </label>


    <label class="item">
      <input type="radio" name="3" class="js__remark">
      Сложный и противоречивый (Ремарк)
    </label>


    <label class="item">
      <input type="radio" name="3" class="js__fitzgerald">
      Романтичный и лёгкий (Фицджеральд)
    </label>


    <label class="item">
      <input type="radio" name="3" class="js__mayakovsky">
      Вежливый и ласковый (Маяковский)
    </label>
  </div>


  <div class="box">
    <h3>Какие напитки должны быть в домашнем баре?</h3>


    <label class="item">
      <input type="radio" name="4" class="js__remark" checked>
      Полное разнообразие вкусов и стилей, чтобы сделать любой коктейль (Ре-марк)
    </label>


    <label class="item">
      <input type="radio" name="4" class="js__bulgakov">
      Исключительное крепкие (Булгаков)
    </label>


    <label class="item">
      <input type="radio" name="4" class="js__mayakovsky">
      Лёгкие (Маяковский)
    </label>


    <label class="item">
      <input type="radio" name="4" class="js__hemingway">
      Всё зависит от настроения (Хемингуэй)
    </label>


    <label class="item">
      <input type="radio" name="4" class="js__fitzgerald">
      Крепкие с нейтральным вкусом. Им можно придать любую форму (Фицдже-ральд)
    </label>
  </div>


  <div class="box">
    <h3>Куда бы отправились в путешествие?</h3>


    <label class="item">
      <input type="radio" name="5" class="js__remark" checked>
      По всему миру (Ремарк)
    </label>


    <label class="item">
      <input type="radio" name="5" class="js__mayakovsky">
      Париж (Маяковский)
    </label>


    <label class="item">
      <input type="radio" name="5" class="js__bulgakov">
      Прага или Будапешт (Булгаков)
    </label>


    <label class="item">
      <input type="radio" name="5" class="js__hemingway">
      Куба (Хемингуэй)
    </label>


    <label class="item">
      <input type="radio" name="5" class="js__fitzgerald">
      Лазурный берег (Фицджеральд)
    </label>
  </div>


  <button class="js__control" type="button">
    Подсчитать
  </button>
</div>


<section id="final" class="hide">
  Готово! <span class="result"></span>
</section>

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Bamberg
    2022-03-16T15:54:11Z2022-03-16T15:54:11Z

    $(document).ready(function() {
      $('.js__control').click(function() {
        let results = {
          'remark': $('.js__remark:checked').length,
          'mayakovsky': $('.js__mayakovsky:checked').length,
          'bulgakov': $('.js__bulgakov:checked').length,
          'fitzgerald': $('.js__fitzgerald:checked').length,
          'hemingway': $('.js__hemingway:checked').length
        };
        
        let authors = ['remark', 'mayakovsky', 'bulgakov', 'fitzgerald', 'hemingway'];
        
        let max = {
          author: 'remark',
          count: results['remark']
        }
        
        let isEqual = true;
        
        for (let author in results) {
          if (results[author] !== max.count) isEqual = false;
          if (results[author] > max.count) {
            max.count = results[author];
            max.author = author;
          }
        }
        
        if (isEqual) {
          let randormAuthor = authors[Math.floor(Math.random() * authors.length)];
          console.log(`${randormAuthor}: 1`);
        } else {
          console.log(`${max.author}:${max.count}`); 
        }
    
        $('.quiz').addClass('hide').next('#final').removeClass('hide');
      });
    });
    .quiz {
      display: flex;
      flex-wrap: wrap;
    }
    
    .box {
      width: 50%;
    }
    
    .js__control {
      width: 100%;
      padding: 8px;
      margin-top: 32px;
    }
    
    .item {
      display: block
    }
    
    .hide {
      display: none
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="quiz">
      <div class="box">
        <h3>Вы влюбились. Как будете завоевывать объект воздыханий?</h3>
    
    
        <label class="item">
          <input type="radio" name="1" class="js__remark" checked>
          Начну очаровывать безупречными манерами (Ремарк)
        </label>
    
    
        <label class="item">
          <input type="radio" name="1" class="js__mayakovsky">
          Задарю подарками (Маяковский)
        </label>
    
    
        <label class="item">
          <input type="radio" name="1" class="js__bulgakov">
          Посвящу роман (Булгаков)
        </label>
    
    
        <label class="item">
          <input type="radio" name="1" class="js__fitzgerald">
          Позову на танцы (Фицджеральд)
        </label>
    
    
        <label class="item">
          <input type="radio" name="1" class="js__hemingway">
          Никак, я красив и талантлив (Хемингуэй)
        </label>
      </div>
    
    
      <div class="box">
        <h3>Какое у вас хобби?</h3>
    
    
        <label class="item">
          <input type="radio" name="2" class="js__hemingway" checked>
          Спорт (Хемингуэй)
        </label>
    
    
        <label class="item">
          <input type="radio" name="2" class="js__bulgakov">
          Настольные игры (Булгаков)
        </label>
    
    
        <label class="item">
          <input type="radio" name="2" class="js__remark">
          Коллекционирование (Ремарк)
        </label>
    
    
        <label class="item">
          <input type="radio" name="2" class="js__fitzgerald">
          Музыка (Фицджеральд)
        </label>
    
    
        <label class="item">
          <input type="radio" name="2" class="js__mayakovsky">
          Игра в бильярд (Маяковский)
        </label>
      </div>
    
    
      <div class="box">
        <h3>Как бы вы описали свой характер?</h3>
    
    
        <label class="item">
          <input type="radio" name="3" class="js__hemingway" checked>
          Властный, мужественный, бесстрашный (Хемингуэй)
        </label>
    
    
        <label class="item">
          <input type="radio" name="3" class="js__bulgakov">
          Обаятельный и ранимый (Булгаков)
        </label>
    
    
        <label class="item">
          <input type="radio" name="3" class="js__remark">
          Сложный и противоречивый (Ремарк)
        </label>
    
    
        <label class="item">
          <input type="radio" name="3" class="js__fitzgerald">
          Романтичный и лёгкий (Фицджеральд)
        </label>
    
    
        <label class="item">
          <input type="radio" name="3" class="js__mayakovsky">
          Вежливый и ласковый (Маяковский)
        </label>
      </div>
    
    
      <div class="box">
        <h3>Какие напитки должны быть в домашнем баре?</h3>
    
    
        <label class="item">
          <input type="radio" name="4" class="js__remark" checked>
          Полное разнообразие вкусов и стилей, чтобы сделать любой коктейль (Ре-марк)
        </label>
    
    
        <label class="item">
          <input type="radio" name="4" class="js__bulgakov">
          Исключительное крепкие (Булгаков)
        </label>
    
    
        <label class="item">
          <input type="radio" name="4" class="js__mayakovsky">
          Лёгкие (Маяковский)
        </label>
    
    
        <label class="item">
          <input type="radio" name="4" class="js__hemingway">
          Всё зависит от настроения (Хемингуэй)
        </label>
    
    
        <label class="item">
          <input type="radio" name="4" class="js__fitzgerald">
          Крепкие с нейтральным вкусом. Им можно придать любую форму (Фицдже-ральд)
        </label>
      </div>
    
    
      <div class="box">
        <h3>Куда бы отправились в путешествие?</h3>
    
    
        <label class="item">
          <input type="radio" name="5" class="js__remark" checked>
          По всему миру (Ремарк)
        </label>
    
    
        <label class="item">
          <input type="radio" name="5" class="js__mayakovsky">
          Париж (Маяковский)
        </label>
    
    
        <label class="item">
          <input type="radio" name="5" class="js__bulgakov">
          Прага или Будапешт (Булгаков)
        </label>
    
    
        <label class="item">
          <input type="radio" name="5" class="js__hemingway">
          Куба (Хемингуэй)
        </label>
    
    
        <label class="item">
          <input type="radio" name="5" class="js__fitzgerald">
          Лазурный берег (Фицджеральд)
        </label>
      </div>
    
    
      <button class="js__control" type="button">
        Подсчитать
      </button>
    </div>

    • 2

相关问题

  • 第二个 Instagram 按钮的 CSS 属性

  • 由于模糊,内容不可见

  • 弹出队列。消息显示不正确

  • 是否可以在 for 循环中插入提示?

  • 如何将 JSON 请求中的信息输出到数据表 Vuetify vue.js?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    表格填充不起作用

    • 2 个回答
  • Marko Smith

    提示 50/50,有两个,其中一个是正确的

    • 1 个回答
  • Marko Smith

    在 PyQt5 中停止进程

    • 1 个回答
  • Marko Smith

    我的脚本不工作

    • 1 个回答
  • Marko Smith

    在文本文件中写入和读取列表

    • 2 个回答
  • Marko Smith

    如何像屏幕截图中那样并排排列这些块?

    • 1 个回答
  • Marko Smith

    确定文本文件中每一行的字符数

    • 2 个回答
  • Marko Smith

    将接口对象传递给 JAVA 构造函数

    • 1 个回答
  • Marko Smith

    正确更新数据库中的数据

    • 1 个回答
  • Marko Smith

    Python解析不是css

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5