循环通过单选按钮(每组20个组)并检查是否每个组都已选中

时间:2016-04-21 17:01:35

标签: javascript

我想参加学生的出席。在获取考勤页面,我得到了所有学生的列表,每个学生有3个单选按钮。我想检查所有学生的出勤是否已标记,并且提交(出席,缺席或离开)无法找到请帮助。我使用的功能只有在检查时才有效。(抱歉,我只需要纯JavaScript代码)

<html>
<head>
<title>KUSC | Attendance Management System</title>
<script type="text/javascript" language="javascript">
function check()
{
var rc = document.getElementById("rc").value;
for(var i=1;i<=rc;i++)
{
var x="att"+i;
var y="rid"+i;
if(document.getElementById(""+x).checked==false)
{
document.getElementById(""+y).bgColor="Red";
document.getElementById(""+y).focus();
return false;
}

}
return true;
}
</script>

</head>
<body>
<form name="attspl"  method="post" onSubmit="return check();">
<center>
<table width="600" border="1" id="table">
<tr><td colspan = "4" align = "center">
<b><font color = 'red'> Taking Attendance of MCA&nbsp1  for &nbsp C</font></b></td> 
</tr><tr>
<td><b>S No.</b></td>   
<td><b>Roll No</b></td>
<td><b>Student Name</b></td>
<td><b>Present Status</b></td></tr>
<tr><td>1</td><td>14045113001</td><td>Nayeem Ahmad Bhat</td><td id=rid1>
<input type="hidden" name="rno1" value="14045113001"/>
<input type="hidden" name="stdname1" value="Nayeem Ahmad Bhat"/>
<input type="radio" id="att1" name="att1" value="P" />Present
<input type="radio" id="att1" name="att1" value="A" />Absent
<input type="radio" id="att1" name="att1" value="L" />Leave
</td></tr><tr><td>2</td><td>14045113002</td><td>Farooq Ahmad Sheikh</td><td id=rid2>
<input type="hidden" name="rno2" value="14045113002"/>
<input type="hidden" name="stdname2" value="Farooq Ahmad Sheikh"/>
<input type="radio" id="att2" name="att2" value="P" />Present
<input type="radio" id="att2" name="att2" value="A" />Absent
<input type="radio" id="att2" name="att2" value="L" />Leave
</td></tr><tr><td>3</td><td>14045113003</td><td>Zubair Ahmad Khan</td><td id=rid3>
<input type="hidden" name="rno3" value="14045113003"/>
<input type="hidden" name="stdname3" value="Zubair Ahmad Khan"/>
<input type="radio" id="att3" name="att3" value="P" />Present
<input type="radio" id="att3" name="att3" value="A" />Absent
<input type="radio" id="att3" name="att3" value="L" />Leave
</td></tr><tr><td>4</td><td>14045113004</td><td>Shahid Nazir</td><td id=rid4>
<input type="hidden" name="rno4" value="14045113004"/>
<input type="hidden" name="stdname4" value="Shahid Nazir"/>
<input type="radio" id="att4" name="att4" value="P" />Present
<input type="radio" id="att4" name="att4" value="A" />Absent
<input type="radio" id="att4" name="att4" value="L" />Leave
</td></tr><tr><td>5</td><td>14045113005</td><td>Faizan Qadri</td><td id=rid5>
<input type="hidden" name="rno5" value="14045113005"/>
<input type="hidden" name="stdname5" value="Faizan Qadri"/>
<input type="radio" id="att5" name="att5" value="P" />Present
<input type="radio" id="att5" name="att5" value="A" />Absent
<input type="radio" id="att5" name="att5" value="L" />Leave
</td></tr><tr><td>6</td><td>14045113006</td><td>Farooq Ahmad Joo</td><td id=rid6>
<input type="hidden" name="rno6" value="14045113006"/>
<input type="hidden" name="stdname6" value="Farooq Ahmad Joo"/>
<input type="radio" id="att6" name="att6" value="P" />Present
<input type="radio" id="att6" name="att6" value="A" />Absent
<input type="radio" id="att6" name="att6" value="L" />Leave
</td></tr><tr><td>7</td><td>14045113007</td><td>Sajad Ahmad</td><td id=rid7>
<input type="hidden" name="rno7" value="14045113007"/>
<input type="hidden" name="stdname7" value="Sajad Ahmad"/>
<input type="radio" id="att7" name="att7" value="P" />Present
<input type="radio" id="att7" name="att7" value="A" />Absent
<input type="radio" id="att7" name="att7" value="L" />Leave
</td></tr><tr><td>8</td><td>14045113008</td><td>Shoaib Kirmani</td><td id=rid8>
<input type="hidden" name="rno8" value="14045113008"/>
<input type="hidden" name="stdname8" value="Shoaib Kirmani"/>
<input type="radio" id="att8" name="att8" value="P" />Present
<input type="radio" id="att8" name="att8" value="A" />Absent
<input type="radio" id="att8" name="att8" value="L" />Leave
</td></tr><tr><td>9</td><td>14045113009</td><td>Bilal Ahmad Hajam</td><td id=rid9>
<input type="hidden" name="rno9" value="14045113009"/>
<input type="hidden" name="stdname9" value="Bilal Ahmad Hajam"/>
<input type="radio" id="att9" name="att9" value="P" />Present
<input type="radio" id="att9" name="att9" value="A" />Absent
<input type="radio" id="att9" name="att9" value="L" />Leave
</td></tr><tr><td>10</td><td>14045113010</td><td>Danish Nabi</td><td id=rid10>
<input type="hidden" name="rno10" value="14045113010"/>
<input type="hidden" name="stdname10" value="Danish Nabi"/>
<input type="radio" id="att10" name="att10" value="P" />Present
<input type="radio" id="att10" name="att10" value="A" />Absent
<input type="radio" id="att10" name="att10" value="L" />Leave
</td></tr><tr><td>11</td><td>14045113011</td><td>Manzoor Ahmad Mir</td><td id=rid11>
<input type="hidden" name="rno11" value="14045113011"/>
<input type="hidden" name="stdname11" value="Manzoor Ahmad Mir"/>
<input type="radio" id="att11" name="att11" value="P" />Present
<input type="radio" id="att11" name="att11" value="A" />Absent
<input type="radio" id="att11" name="att11" value="L" />Leave
</td></tr><tr><td>12</td><td>14045113012</td><td>Manzoor Ahmad Wani</td><td id=rid12>
<input type="hidden" name="rno12" value="14045113012"/>
<input type="hidden" name="stdname12" value="Manzoor Ahmad Wani"/>
<input type="radio" id="att12" name="att12" value="P" />Present
<input type="radio" id="att12" name="att12" value="A" />Absent
<input type="radio" id="att12" name="att12" value="L" />Leave
</td></tr><tr><td>13</td><td>14045113013</td><td>Shabir Ahmad Bhat</td><td id=rid13>
<input type="hidden" name="rno13" value="14045113013"/>
<input type="hidden" name="stdname13" value="Shabir Ahmad Bhat"/>
<input type="radio" id="att13" name="att13" value="P" />Present
<input type="radio" id="att13" name="att13" value="A" />Absent
<input type="radio" id="att13" name="att13" value="L" />Leave
</td></tr><tr><td>14</td><td>14045113014</td><td>Arshid Baba</td><td id=rid14>
<input type="hidden" name="rno14" value="14045113014"/>
<input type="hidden" name="stdname14" value="Arshid Baba"/>
<input type="radio" id="att14" name="att14" value="P" />Present
<input type="radio" id="att14" name="att14" value="A" />Absent
<input type="radio" id="att14" name="att14" value="L" />Leave
</td></tr><tr><td>15</td><td>14045113015</td><td>Ishtiyaq Ahmad</td><td id=rid15>
<input type="hidden" name="rno15" value="14045113015"/>
<input type="hidden" name="stdname15" value="Ishtiyaq Ahmad"/>
<input type="radio" id="att15" name="att15" value="P" />Present
<input type="radio" id="att15" name="att15" value="A" />Absent
<input type="radio" id="att15" name="att15" value="L" />Leave
</td></tr><tr><td>16</td><td>14045113016</td><td>Ishfaq Ahmad Bhat</td><td id=rid16>
<input type="hidden" name="rno16" value="14045113016"/>
<input type="hidden" name="stdname16" value="Ishfaq Ahmad Bhat"/>
<input type="radio" id="att16" name="att16" value="P" />Present
<input type="radio" id="att16" name="att16" value="A" />Absent
<input type="radio" id="att16" name="att16" value="L" />Leave
</td></tr><tr><td>17</td><td>14045113017</td><td>Sajad Ahmad Wani</td><td id=rid17>
<input type="hidden" name="rno17" value="14045113017"/>
<input type="hidden" name="stdname17" value="Sajad Ahmad Wani"/>
<input type="radio" id="att17" name="att17" value="P" />Present
<input type="radio" id="att17" name="att17" value="A" />Absent
<input type="radio" id="att17" name="att17" value="L" />Leave
</td></tr><tr><td>18</td><td>14045113018</td><td>Ajaz Ahmad</td><td id=rid18>
<input type="hidden" name="rno18" value="14045113018"/>
<input type="hidden" name="stdname18" value="Ajaz Ahmad"/>
<input type="radio" id="att18" name="att18" value="P" />Present
<input type="radio" id="att18" name="att18" value="A" />Absent
<input type="radio" id="att18" name="att18" value="L" />Leave
</td></tr><tr><td>19</td><td>14045113019</td><td>Waseem Ahmad</td><td id=rid19>
<input type="hidden" name="rno19" value="14045113019"/>
<input type="hidden" name="stdname19" value="Waseem Ahmad"/>
<input type="radio" id="att19" name="att19" value="P" />Present
<input type="radio" id="att19" name="att19" value="A" />Absent
<input type="radio" id="att19" name="att19" value="L" />Leave
</td></tr><tr><td>20</td><td>14045113020</td><td>Adil Ahmad Khan</td><td id=rid20>
<input type="hidden" name="rno20" value="14045113020"/>
<input type="hidden" name="stdname20" value="Adil Ahmad Khan"/>
<input type="radio" id="att20" name="att20" value="P" />Present
<input type="radio" id="att20" name="att20" value="A" />Absent
<input type="radio" id="att20" name="att20" value="L" />Leave
</td></tr>
<input type="hidden" id="rc" name="rc" value="20" />
<input type="hidden" name="Subject" value="C" />
<input type="hidden" name="Dept" value="MCA" />
<input type="hidden" name="Sem" value="1" />
<tr><td colspan="4" align="center"><input type="submit" value="Save"/> </td></tr></table>
</form>

3 个答案:

答案 0 :(得分:0)

您的标记中有重复的ID,请尽快修复。

Vanilla js解决方案

var areAllSelected = ![].filter.call(document.querySelectorAll("td[id]"), function(group) {
  return [].every.call(group.querySelectorAll("input[type=\"radio\"]"), function(radio) {
    return !radio.checked;
  });
}).length

答案 1 :(得分:0)

这是你可以做的:

function check(){
  var tableElem = document.getElementById('table'); //
  for(var tr = 2; tr < tableElem.rows.length; tr++){
    var isChecked = false;
    for(var td = 0; td < tableElem.rows[tr].cells[3].children.length; td++ ){
    var inputElem = tableElem.rows[tr].cells[3].children[td];

    if(inputElem.type == "radio" && inputElem.checked) //check if at least one is checked
        isChecked = true;
  }

  if(!isChecked)
    return false;
  }

  return true;
}

答案 2 :(得分:0)

执行此操作的代码如下所示。 谢谢大家的帮助。 但我这样做了

    function check()
    {
    var rc = document.getElementById("rc").value;
    for(var i=1;i<=rc;i++)
    {
    var x="att"+i;
    var y="rid"+i;
    var len=document.getElementsByName(""+x).length;
    var chk='No';
    var radio=document.getElementsByName(""+x);
    for(var j=0;j<len;j++)
    if(radio.item(""+j).checked==true )
    {
    chk='Yes';
    }

    if(chk=='No')
    {
    document.getElementById(""+y).bgColor="Red";
    document.getElementById(""+y).focus();
    return false;
    }

    }
    return true;
    }