【问题标题】:Checkboxes all ticked, Do something?复选框都打勾,做点什么?
【发布时间】:2012-11-27 15:12:51
【问题描述】:

我只是在寻找最好的方法来做这件事的一些帮助..

所以我有一个示例 SQL 数据库:

现在从该数据库中,我有一个 PHP 页面,如果相应的复选框字段中有“1”,则显示复选框已打勾。

我现在想做的是:

选中两个复选框后,我想显示一个 5 秒计时器或一条消息,类似的东西,但我如何确定两个复选框是否都已选中?

我猜我必须对整个表运行查询并使用我返回的变量?

【问题讨论】:

    标签: php jquery html sql


    【解决方案1】:

    您可以使用更改事件

    var i = 1, interval, timeout;
    $('input[type=checkbox]').on('change', function(){
    
       if ($('input[type=checkbox]').length ==   $('input[type=checkbox]:checked').length) {
           $('div').show();
           interval = window.setInterval(
             function() {
               $('div').text(i++);
             },
             1000
           );
           timeout = window.setTimeout(
             function(){
               document.location = 'http://google.com/';
             },
           5000);
       }
      else {
        window.clearTimeout(timeout);
        window.clearInterval(interval);
        $('div').hide().text('0');
        i = 1;
      }
    });
    

    编辑http://jsbin.com/uwofus/11/edit的示例 测试http://jsbin.com/uwofus/11的示例

    【讨论】:

    • 更新了,使用核心JS很简单developer.mozilla.org/en-US/docs/DOM/window.setTimeout
    • 嗨,我希望它倒计时 5 4 3 2 1 一旦它们都被勾选然后转到 www.google.com(例如)..感谢您的帮助美妙
    • 给你,作为作业尝试散列一些变量以获得更好的性能:)
    • 如果我取消勾选一个框,它不会停止计数器,但我想我从未说过,我肯定可以以此为基础
    【解决方案2】:

    你用 jQuery 标记了这个,所以我假设你想在浏览器中进行检查,而不是在数据库中。

    if ($("input[type='checkbox']:checked").size() == 2) {
       //both boxes are checked
       //display message/start timer here
    } else {
       //not all boxes are checked
    }
    

    【讨论】:

    • 感谢您的回复..我正在寻找最好的选项 ID,如果它不是太多的工作,也许可以检查数据库?
    【解决方案3】:

    你可以给你的复选框一个类,例如mycb,然后数一下查到的数量:

    $('.mycb').change(function(){
    
        if($('.mycb').size() == $('.mydb:checked').size())
        {
            // all checkboxes are checked - do something
        }
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 2012-05-23
      • 2023-02-09
      • 2010-12-15
      • 1970-01-01
      • 2013-09-01
      • 1970-01-01
      相关资源
      最近更新 更多