复选框条件数据库coldfusion

时间:2016-08-26 20:35:18

标签: javascript database coldfusion

我想做的是:

我有这两个人,男孩和女孩的名单,在数据库中循环,投给他们的人,但条件是只能投票给一个女孩和一个男孩。我试图用这段代码做到这一点:

<script type="text/javascript">
$('input:checkbox').click(function() {
  $(this).parent().addClass('profile-check');
  if ($('input[type=checkbox]:checked').length > 2) {
    $(this).prop('checked', false)
    alert("Allowed only 2 votes.");
    $(this).prop('checked', false).parent().addClass('profile-error')
    //$('input:checkbox').not(this).prop('checked', false).parent().removeClass('bgcheck'); }
});
</script>

但结果是人们可以检查两个,这包括男孩和男孩o女孩和女孩,而不仅仅是一个男孩和一个女孩。

代码:

<cfquery name="data" datasource="#dbMarks#">select left(tutgroup,2) as anio,appaterno,apmaterno,nombres,house,codigo,tutgroup   from studentCand 
where (tutgroup like 's4%' or tutgroup like '5B%')
group by left(tutgroup,2),appaterno,apmaterno,nombres,house,codigo,tutgroup
order by left(tutgroup,2) desc,appaterno,apmaterno,nombres
</cfquery>

<div class="container">
<div class="row mtc">
    <cfoutput query="data" group="anio">
    <cfoutput>  
        <div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 profile-chart">
            <div class="portrait-settings">
            <img src="http://intranet.markham.edu.pe/istaff2/photos_students/#codigo#.jpg" width="65px">
            </div>          
            <div class="details-chart">     
            <p class="mtc"><strong>#appaterno#</strong>, #nombres#</p>
            <span class="mtc">#anio# - </span>
            <span>#house#</span>
            <span>
            <input  type="checkbox" name="codigos"  value="#appaterno# #apmaterno# #nombres# (#tutgroup#)" required>
            </span>
            </div> 
        </div>
    </cfoutput>  
    </cfoutput>  
</div>
</div>

1 个答案:

答案 0 :(得分:3)

为了能够做你想做的事,你需要首先从数据集中找出哪些学生是男(男),哪些是女(女)。我无法从您的查询中判断出是否存在允许您这样做的字段,因此我假设您可以通过更改查询来获取该信息。为了这个例子,我假设您的数据库中有一个字段用于学生的性别,并且它被称为 性别

如果您有一个告诉您学生是男孩还是女孩的文件,您可以使用单选按钮代替复选框来解决您的问题。然后,您将为男孩和女孩选择一个值,您不需要添加任何JavaScript验证来强制执行。这是执行此操作的代码:

<cfquery name="data" datasource="#dbMarks#">
  select left(tutgroup,2) as anio, appaterno, apmaterno, nombres, house,
    codigo, tutgroup, gender  
  from studentCand 
  where (tutgroup like 's4%' or tutgroup like '5B%')
  group by left(tutgroup,2),appaterno, apmaterno, nombres, house, codigo, 
    tutgroup, gender
  order by left(tutgroup,2) desc,appaterno,apmaterno,nombres
</cfquery>

<div class="container">
  <div class="row mtc">
    <cfoutput query="data" group="anio">
        <div class="col-xs-12 col-sm-4 col-md-3 col-lg-2 profile-chart">
        <div class="portrait-settings">
          <img src="http://intranet.markham.edu.pe/istaff2/photos_students/#codigo#.jpg" 
           width="65px">
        </div>          
        <div class="details-chart">     
          <p class="mtc"><strong>#appaterno#</strong>, #nombres#</p>
          <span class="mtc">#anio# - </span>
          <span>#house#</span>
          <span>
           <cfif gender eq 'male'>
            <input  type="radio" name="boy"  value="#appaterno# #apmaterno# #nombres# (#tutgroup#)">
           <cfelse>
            <input  type="radio" name="girl"  value="#appaterno# #apmaterno# #nombres# (#tutgroup#)">
           </cfif>
         </span>
       </div> 
    </div> 
  </cfoutput>  
</div>
</div>

请注意,因为您有两组单选按钮,一个名为 boy ,另一个名为 girl ,你一次只选一个男孩和一个女孩。