【问题标题】:PHP - Multiple Sticky CheckboxesPHP - 多个粘性复选框
【发布时间】:2014-01-07 14:37:54
【问题描述】:

需要从数据库中读取不同的工作(例如,工作 1、工作 2、工作 3、...工作 n)并将它们放置在表单上,​​以便用户通过复选框选择用户喜欢的工作,如图所示以下。

  • ( ) 工作 1 描述1,
  • (X) 工作 2 描述2
  • (X) 工作 3 描述3
  • ( ) 职位 N 描述N

鉴于作业数量可能太多而无法显示单个页面,因此采用了分页,以便将整个表单分解为页面数。要求是即使用户浏览此表单的不同页面,用户在给定页面上的复选框选择也必须具有粘性。如何实现这一目标。

如果 JQuery 可以用来简化任务,请给我演示一下。

我使用以下代码:

 function selected($job_id)
 {          
    if (empty($_POST['job_selection'])) || (!is_array($_POST['job_selection'])) ||       (!in_array($job, $_POST['job_selection'])) {
      return '1';
    }

    return 'checked';
  }    


     $q10 = "SELECT ...
 $r10 = mysqli_query ($dbc, $q10);                                    
     if (mysqli_num_rows($r10) > 0) {

      while ($row10 = mysqli_fetch_array($r10, MYSQLI_ASSOC)) 
      {

       if (isset($_POST['job_selection'])){   
        $jid = $row10['job_id'];
            echo '<td align="left"><p class="normal_text"><input type="checkbox" name="job_selection[]" value="' . $row10['job_id'] . '" selected($jid) />' . $row10['job_name'] . '</p></td>';      
        } 
        else 
        {             
           echo '<td align="left"><p class="normal_text"><input type="checkbox" name="job_selection[]" value="' . $row10['job_id'] . '" />' . $row10['job_name'] . '</p></td>';               
        }
     } 
   }

问题在于,当通过单击页码浏览页面时,表单不一定已提交 - 因此,$_POST['job_selection'] 将为空。

【问题讨论】:

  • 也许您可以提供您正在使用的相关代码...
  • 为什么不能根据类别对作业进行分组?您可以根据类别进行筛选。无需将表单分成一页以上。
  • 不,要求是将表单分成包含多个相同类型复选框的页面数。考虑一个示例,用户必须从众多车型中选择首选车型。

标签: php jquery webforms


【解决方案1】:

您可以为列表使用客户端分页。

有很多简单的 jQuery 插件可以实现它:http://www.smashingapps.com/2013/05/06/16-beautiful-jquery-pagination-plugins.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 2012-01-21
    相关资源
    最近更新 更多