我环顾四周,无法看到其他人遇到此问题。我正在使用validationEngine并遇到一个问题,当勾选一个特定的复选框时,需要输入2个输入。即使没有勾选,他们仍然说他们是必需的。
<td>
<input type="checkbox" value="true" name="Availability_MondayIsAvailable" id="Availability_MondayIsAvailable" checked="checked"> Monday
</td>
<td>
<input type="text" value="0:00 AM" size="5" name="Availability_MondayStartTime" id="Availability_MondayStartTime" class="validate[condRequired[Availability_MondayIsAvailable],custom[timeForm]]">
</td>
<td><input type="text" value="7:00 PM" size="5" name="Availability_MondayEndTime" id="Availability_MondayEndTime" class="validate[condRequired[Availability_MondayIsAvailable]]">
</td>
勾选方框。我取消了它,输入仍然根据需要提醒。
更新 我拿了@Shafeeq提供的东西并创建了这个来处理所有7天。
function availableDay(day) {
var yourselector = '#Availability_' + day + 'IsAvailable';
var yourselectorStart = '#Availability_' + day + 'StartTime';
var yourselectorEnd = '#Availability_' + day + 'EndTime';
var onClass = 'validate[condRequired[Availability_' + day + 'IsAvailable],custom[timeForm]]';
if ($(yourselector).is(':checked')) {
$(yourselectorStart).attr( "class", onClass );
$(yourselectorEnd).attr( "class", onClass);
}
else {
$(yourselectorStart).attr( "class"," ");
$(yourselectorEnd).attr( "class"," ");
}
}
我还将此添加到doc准备好触发先前检查过的框的更改功能。
$("input[type='checkbox']").trigger("change");
我不确定这个问题是否是验证引擎中的错误或者是什么......
答案 0 :(得分:2)
如果已将jquery验证类添加到元素,则始终验证它,如果您不需要,则需要删除该类。为此,你可以使用复选框中的javascript函数
<input type="checkbox" value="true" onchange="set_validation()" name="Availability_MondayIsAvailable" id="Availability_MondayIsAvailable" checked="checked"> Monday
在您的javascript中添加此功能
function set_validation() {
if ($('#Availability_MondayIsAvailable').is(':checked')) {
$( "#Availability_MondayStartTime" ).attr( "class", "validate[condRequired[Availability_MondayIsAvailable],custom[timeForm]]" );
$( "#Availability_MondayEndTime" ).attr( "class","validate[condRequired[Availability_MondayIsAvailable]]");
}
else {
$( "#Availability_MondayStartTime" ).attr( "class"," ");
$( "#Availability_MondayEndTime" ).attr( "class"," ");
}
}