使用jquery验证计划
嘿 我有一个工作时间表,用户可以在“清单”中选择哪几天工作。如下图所示: 我正在尝试验证这个时间表。。。如果用户选择在星期一工作,则必须插入到达时间和离开时间。 这应该在整个表单中发生 最好的方法是什么 Tks 编辑: html使用jquery验证计划,jquery,Jquery,嘿 我有一个工作时间表,用户可以在“清单”中选择哪几天工作。如下图所示: 我正在尝试验证这个时间表。。。如果用户选择在星期一工作,则必须插入到达时间和离开时间。 这应该在整个表单中发生 最好的方法是什么 Tks 编辑: html <table class="tabelaDados" id="tbEscalaSemana"> <thead> <tr> <th> dia </th&
<table class="tabelaDados" id="tbEscalaSemana">
<thead>
<tr>
<th>
dia
</th>
<th>
Trabalha?
</th>
<th>
Entrada <span class="labelAvisoTela">(08:30)</span><a title="Replicar horários" href="#"
class="iconCopiar" id="btnCopEnt"></a>
</th>
<th>
Saída<span class="labelAvisoTela">(17:30)</span><a title="Replicar horários" href="#"
class="iconCopiar" id="btnCopSai"></a>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Seg
</td>
<td>
<input id="chkSeg" type="checkbox" name="chkSeg" />
</td>
<td>
<input name="txtEntSeg" type="text" id="txtEntSeg" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiSeg" type="text" id="txtSaiSeg" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Ter
</td>
<td>
<input id="chkTer" type="checkbox" name="chkTer" />
</td>
<td>
<input name="txtEntTer" type="text" id="txtEntTer" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiTer" type="text" id="txtSaiTer" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Qua
</td>
<td>
<input id="chkQua" type="checkbox" name="chkQua" />
</td>
<td>
<input name="txtEntQua" type="text" id="txtEntQua" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiQua" type="text" id="txtSaiQua" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Qui
</td>
<td>
<input id="chkQui" type="checkbox" name="chkQui" />
</td>
<td>
<input name="txtEntQui" type="text" id="txtEntQui" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiQui" type="text" id="txtSaiQui" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Sex
</td>
<td>
<input id="chkSex" type="checkbox" name="chkSex" />
</td>
<td>
<input name="txtEntSex" type="text" id="txtEntSex" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiSex" type="text" id="txtSaiSex" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Sab
</td>
<td>
<input id="chkSab" type="checkbox" name="chkSab" />
</td>
<td>
<input name="txtEntSab" type="text" id="txtEntSab" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiSab" type="text" id="txtSaiSab" class="campoHora txtSaida" />
</td>
</tr>
<tr>
<td>
Dom
</td>
<td>
<input id="chkDom" type="checkbox" name="chkDom" />
</td>
<td>
<input name="txtEntDom" type="text" id="txtEntDom" class="campoHora txtEntrada" />
</td>
<td>
<input name="txtSaiDom" type="text" id="txtSaiDom" class="campoHora txtSaida" />
</td>
</tr>
</tbody>
迪亚
特拉巴利亚?
恩特拉达(08:30)
萨伊达(17:30)
赛格
特
夸
魁
性
安息日
多姆
我想您在这里使用的是tr和td结构。 对于每一行,您可以检查是否选中了复选框,然后应填写输入
$(':checked').siblings('input').each(function(){
if($(this).val() == "") {
// THROW APPROPRIATE ERROR
}
});
希望这有帮助
备注:使用表格的HTML代码会更容易。使用HTML,您可以通过以下方式验证:
$('#tbEscalaSemana :checked').closest("tr").find('.campoHora').each(function(){
if($(this).val() == "") {
alert("You must provide start/stop times for all days you are working!");
return(false);
}
});
这将查找表中的所有复选框,然后为每个复选框查找父行并在该行中搜索.campoHora类。然后,它将遍历这些检查中的每一个,以查看它是否为非空
您可以在这里看到它在HTML上工作:
对于后续问题,这将检查表中是否至少选中了一个复选框:
if ($('#tbEscalaSemana :checked').length == 0) {
// no checkboxes checked
}
我还将此添加到JSFIDLE:。我认为这不起作用,因为开始/停止时间字段不是复选框的兄弟。我如何检查是否至少选中了一个复选框?我在回答的末尾添加了代码,用于检查是否未选中复选框。