подтвердите, что флажок необходим для текстового поля - PullRequest
0 голосов
/ 28 марта 2012

У меня есть небольшая проблема, я ищу, но я не могу найти то, что мне нужно, у меня есть 3 флажка и одно текстовое поле в форме, мне нужно проверить, что пользователь может редактировать текстовое поле, только если они уже отметьте один флажок, и можете установить только один, попробуйте следующие способы:

$("#tbCodCliente").validate({
                rules: {
                    checkbox: { 
                    required: 'input[type="checkbox"]:checked',
                    minlength: 1
                    }
                },
                messages: {
                    checkbox: "Please check at least one."
                }

tbCodCliente - текстовое поле формы

или попробуйте

('#tbCodCliente').change(function() {
                if( $("input:checked").length == 0 ) {
            //
                    $("#request-form").validate({
                        rules: {
                            checkbox: { 
                                required: 'input[type="checkbox"]:checked',
                                minlength: 1
                                }   
                        },
                        messages: {
                            checkbox: "Please check at least one."
                        }
                    });        
            //        
                }
            });

Это код моих флажков

<%= Html.CheckBox("cbCodigo") %> <label class="inline" for="Codigo">Codigo</label>
<%= Html.CheckBox("cbNombreCliente") %> <label class="inline" for="NombreCliente">Nombre del cliente</label>
<%= Html.CheckBox("cbCiudad") %> <label class="inline" for="Ciudad">Ciudad</label>

1 Ответ

1 голос
/ 28 марта 2012

Я бы отключил текстовое поле по умолчанию, а затем включил его (и принудительно установил только один отмеченный флажок за раз) в вашем обработчике событий изменения.

$(document).ready(function(){
    $('#tbCodCliente input[type="checkbox"]').change(function(e) {
        if( $("input:checked").length == 0 ) {
           $("#request-form").validate({
                rules: {
                    checkbox: { 
                        required: 'input[type="checkbox"]:checked',
                        minlength: 1
                    }   
                },
                messages: {
                    checkbox: "Please check at least one."
                }
            }); 
        }
        else{
            $("input[type='text']:disabled").removeAttr('disabled');
            $("input:checked").not($(e.target)).removeAttr('checked');

        }
    });
});

jsFiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...