2016-08-26 15 views
0

Что я хочу сделать, это:Checkbox 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> 

Но результат люди могут проверить на двое, и это включает мальчик и мальчик девочка и уплотнительную девочку вместо одного мальчика и девочку.

код:

<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

Для каждой группы вам необходимо установить флажок 'type =" radio "'. Это позволит только один выбор в каждом. – Jecoms

ответ

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> 

Обратите внимание, что, поскольку у вас есть два набора переключателей, один по имени мальчик, а другой по имени девушка, вы будете иметь ровно один мальчик и Одну девушку выбирали за один раз.

+0

Большое спасибо, это сработало! – Hriskart