无法使用jQuery验证多个选择框

时间:2015-03-06 07:28:08

标签: jquery twitter-bootstrap jquery-validate

我有一个多选框,用户应该在其中选择至少2个值。 我在引导程序中使用jQuery。但我没有得到任何结果。

我的html表单包含一个多选框。表单使用Twitter-Bootstrap设计。我编写了一个jQuery函数来验证表单。我能够成功验证每个其他输入字段。

任何帮助。

FIDDLE

HTML

<form>       
    <div class="form-group">
        <label class="control-label" for="lastname">multiple:</label>
        <div class="input-group">
             <select data-placeholder="Add Invitees" name="invitees[]" multiple class="chosen-select" tabindex="8">
                <option value="black">Black</option>
                <option value="blue">Blue</option>
                <option value="green">Green</option>
                <option value="orange">Orange</option>
                <option value="red">Red</option>
                <option value="yellow">Yellow</option>
                <option value="white">White</option>
            </select>
        </div>
    </div>

        <button type="submit" class="btn btn-primary">Submit</button>
</form>

的jQuery

$('form').validate({
    rules: {
        invitees: {
            minlength: 2,
            required: true
        }
    },
    highlight: function(element) {
        $(element).closest('.form-group').addClass('has-error');
    },
    unhighlight: function(element) {
        $(element).closest('.form-group').removeClass('has-error');
    },
    errorElement: 'span',
    errorClass: 'help-block',
    errorPlacement: function(error, element) {
        if(element.parent('.input-group').length) {
            error.insertAfter(element.parent());
        } else {
            error.insertAfter(element);
        }
    }
});

1 个答案:

答案 0 :(得分:2)

使用'invitees[]'代替invitees查看更新后的代码..查看此fiddle

 $('form').validate({
        rules: {
            'invitees[]': {
                minlength: 2,
                required: true
            }
        },
        highlight: function(element) {
            $(element).closest('.form-group').addClass('has-error');
        },
        unhighlight: function(element) {
            $(element).closest('.form-group').removeClass('has-error');
        },
        errorElement: 'span',
        errorClass: 'help-block',
        errorPlacement: function(error, element) {
            if(element.parent('.input-group').length) {
                error.insertAfter(element.parent());
            } else {
                error.insertAfter(element);
            }
        }
    });