Проверка раскрывающегося списка/переключателя?

Я использую валидатор инструментов jQuery (http://flowplayer.org/tools/demos/index.html) для своей формы, и мне интересно, как проверить раскрывающиеся списки и переключатели?

У кого-нибудь был опыт реализации?


person Vince Pettit    schedule 12.01.2011    source источник
comment
Наглядный пример проверки флажка есть в [документации][(flowplayer.org/ tools/demos/validator/events.html), что вы уже сделали, покажите нам свои результаты (код), чтобы лучше помочь вам   -  person ifaour    schedule 12.01.2011
comment
Извините, опечатка, не нужны флажки... нужно, чтобы они работали с выпадающими списками и переключателями!   -  person Vince Pettit    schedule 12.01.2011


Ответы (2)


В документации сказано, что вы также можете использовать атрибут required="required" для элементов SELECT, но у меня это тоже не работает. Я решил использовать пользовательскую функцию валидатора. Надеюсь, что это работает для вас. Тем не менее, он довольно простой, в нем отсутствуют некоторые другие соображения, чтобы сделать его более гибким.

$.tools.validator.fn("select[required=required]", function(input, value) {
    // If the first item in the list is selected return FALSE
    return !input[0].options[0].selected;
});
person jplaza    schedule 13.01.2011

Просто добавьте это так:

<script type="text/javascript">
$(document).ready(function(){
    // initialize validator and supply the onBeforeValidate event in configuration

$("#GetAQuote").validator({ 
    position: 'top left', 
    offset: [-5, 25],
    message: '<div><em/><img src="images/form-error.gif" style="float:right;"/></div>'     
    // em element is the arrow
});

$.tools.validator.fn("select[required=required]", function(input, value) {
    // If the first item in the list is selected return FALSE
    return !input[0].options[0].selected;
});


$("#GetAQuote").bind("onFail", function(e, errors)  {

// we are only doing stuff when the form is submitted
if (e.originalEvent.type == 'submit') {

    // loop through Error objects and add the border color
    $.each(errors, function()  {
        var input = this.input;
        input.css({borderColor: '#e6a200'}).focus(function()  {
            input.css({borderColor: '#75a9cc'});
        });
    });
    }
    });
});
</script>
person Mark    schedule 19.07.2012