Как проверить выпадающий список bootstrap 3 multiselect с помощью метода проверки Jquery?

#jquery #html #twitter-bootstrap-3

#jquery ( jquery ) #HTML #twitter-bootstrap-3

Вопрос:

У меня есть выпадающий список bootstrap 3 mutliselect, который необходимо проверить при отправке из jquery:

 <select class="form-control input-sm" id="role" name="roles" multiple="multiple" data-toggle="tooltip" data-placement="top">
</select>
 

 $(document)
    .ready(
        function() {
            $("#register-form")
                .validate({
                    rules: {
                        roles: {
                            required: true, //Does not worked 
                        }
                    },
                    messages: {
                        roles: {
                            required: "Please Select Role(s)", //Does not worked 
                        },
                    },
                    errorPlacement: function(error,
                        element) {
                        $(element).closest('.form-group')
                            .find('.help-block').html(
                                error.html());
                    },
                    highlight: function(element) {
                        $(element).closest('.form-group')
                            .removeClass('has-success')
                            .addClass('has-error');
                    },
                    unhighlight: function(element,
                        errorClass, validClass) {
                        $(element).closest('.form-group')
                            .removeClass('has-error')
                            .addClass('has-success');
                        $(element).closest('.form-group')
                            .find('.help-block').html(
                                '');
                    },

                    submitHandler: function(form) {


                        form.submit();
                    }
                });

            $("#role").multiselect({
                nonSelectedText: 'Select Role(s)',
                includeSelectAllOption: true,
                enableCaseInsensitiveFiltering: true,
                maxHeight: 'auto',
                buttonWidth: 'auto',
                enableFiltering: true,
                onChange: function(element, checked) {
                    var brands = $('#role option:selected');
                    var selected = [];
                    $(brands).each(function(index, brand) {
                        selected.push([$(this).val()]);
                    });
                }
            });
        });
 

Комментарии:

1. Ваш конечный тег для $(document).ready(function(){}) отсутствует

2. ошибка опечатки в stackoverflow. Это не решение.

3. Улучшить код, который было действительно трудно читать.

4. в вашей ошибке errorPlacement проверьте выбор с помощью элемента == «выбрать». После этого см. раздел убедитесь, что выбранное значение является тем, которое было преобразовано плагином. Когда вы обнаружили, что выберите do .parent(«.bootstrap-select»).addClass(«ошибка») Что-то вроде этого. Вы должны быть в состоянии сделать это с помощью этой информации

5. кроме ролей все остальное работает хорошо