如何为每个if元素添加或移除类

How to add or remove class to each if element changed

本文关键字:添加 元素 if      更新时间:2023-09-26

我有一个jquery-validate和jquery-steps的表单。我需要检查,如果其中一个字段不为空,则必须填充同一行中的另一个字段。如您所知,必须填充类为"required"的元素。我让每个元素都没有必要的类。在进行下一步之前,它必须检查是否存在非空元素。如果至少有一个,它必须向同一行中的所有输入添加类"required"。如输入"name"已填充,则输入"surname""email"也必须填充。

<table bolder=1">
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Email</th>
</tr>
</thead>
</table>
<tbody>
<tr>
<td>
<input class="documentCheck" type="text">
</td>
<td>
<input type="text">
</td>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
<input class="documentCheck" type="text">
</td>
<td>
<input type="text">
</td>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
<input class="documentCheck" type="text">
</td>
<td>
<input type="text">
</td>
<td>
<input type="text">
</td>
</tr>
</tbody></table>

在我明白我是笨蛋之前我做了什么:小提琴

 $(function () {
     $(".documentCheck").change(function () {
         name = $(".documentCheck").val();
         if (name.length > 0) {
             $("td").find('.req').first().addClass("required");
         }
     });
 });

thanks in advance

do this:

     $(document).ready(function(){
        $(".documentCheck").on('change',"td > input",function() {
             $(this).parent().siblings().children('input').addClass('required');
         });
     });

小提琴

更新小提琴

Try

$(function () {
 $(".documentCheck").blur(function () {
     name = $(".documentCheck").val();
     if (name.length > 0) {
         $(this).parents("tr").find("input").addClass("required");
     }
     else
    {
     $(this).parents("tr").find("input").removeClass("required");
     }
 });
 });

Change将仅在输入的前一个值发生更改时触发。如果您将输入设置为空白,则不会触发。