0

我创建了一个 JS fiddle 来简要概述我要完成的工作。你可以在这里查看:http: //jsfiddle.net/BNjby/1/

如您所见,“角色”有 5 个不同的选项。他们的价值观将永远保持不变。基本上,我需要添加 js & 验证,这样,如果选择了 Trainee 角色,则自动取消选择其他角色(或显示验证错误消息);同样,如果选择了其他角色之一,则取消选择受训者。

我当前的 Jquery 看起来像这样:

$(document).ready(function(){
    $("#registerForm").validate({
            rules: {
                'roles[]':{
                    required:true,
                    profile_checkboxes: true
                }
            },
    });
  });

$.validator.addMethod("profile_checkboxes", function (value, element) {
    if($(element).is(':checked') && value == 5){
        $(element).siblings(':checkbox').attr('checked',false);
        return true;
    } else if ($(element).is(':checked') && value != 5){
        if($(element).siblings().val() == 5){
            console.log($(this))
        }
    }

}, "");

和html:

<h1>Form Validation Example</h1>
    <form id='registerForm' name='registerForm' method='post' action='' >  
        <div class="control-group">
        <label for="role">Role</label>  
             <div class="controls" id="role_names">


            <label class="checkbox"><input type="checkbox" name="roles[]" value="5" /> Trainee</label>                                      
<label class="checkbox"><input checked="checked" type="checkbox" name="roles[]" value="4" /> Supervisor</label>                                 
<label class="checkbox"><input type="checkbox" name="roles[]" value="6" /> Faculty</label>                                  
<label class="checkbox"><input type="checkbox" name="roles[]" value="7" /> Coordinator</label>                                  
<label class="checkbox"><input type="checkbox" name="roles[]" value="3" /> Manager</label>                                      </div>
                    </div>
       <button class="pull-right btn-success btn" type="submit"><i class="icon-check"></i>Save Changes</button>
    </form>

几个星期以来一直停留在这个问题上,我认为是时候寻求一些帮助了。非常感谢:)

4

1 回答 1

0

我以前遇到过这个。jQuery 验证器不完全支持使用字段名称数组,因为它依赖于字段名称是唯一的。解决此问题的一种方法是将字段名称设置为角色 [0]、角色 [1]、角色 [2] 等。这为 jQuery 验证器提供了独特的绑定对象,通常是您将数据发布到的任何语言(php ,例如)在处理帖子时仍将接受这些作为数组。

于 2013-12-16T14:12:22.690 回答