0

我环顾四周,看不到其他人有这个问题。我正在使用validationEngine 并遇到一个问题,即勾选特定复选框时需要2 个输入。即使没有勾选,他们仍然说他们是必需的。

    <td>
      <input type="checkbox" value="true" name="Availability_MondayIsAvailable" id="Availability_MondayIsAvailable" checked="checked">&nbsp;&nbsp;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"," ");
           }
}

我还将它添加到文档准备触发先前选中的框的更改功能。

$("input[type='checkbox']").trigger("change");

我不确定这个问题是验证引擎中的错误还是什么......

4

1 回答 1

2

如果您已将 jquery 验证类添加到元素,它总是经过验证,如果您不需要,则需要删除该类。为此,您可以在复选框中使用 javascript 函数

  <input type="checkbox" value="true" onchange="set_validation()" name="Availability_MondayIsAvailable" id="Availability_MondayIsAvailable" checked="checked">&nbsp;&nbsp;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"," ");
   }
}
于 2013-09-17T18:07:47.357 回答