lundi 20 avril 2015

require at least one checkbox with nested names

I have a section of my form where I am requiring at least on checkbox be checked. Originally I had this wokring by using this jquery:

$.validator.addMethod('kegRequired', $.validator.methods.required, 'Choose at least one keg size');
$.validator.addClassRules('kegsize', {kegRequired: true});

Where each checkbox looked like this:

input class="kegsize" name="33kegsizes[]" type="checkbox" value="SixthBbl"

The number was an id of the parent 'vendor'. I refactored the form to look like this

input class="kegsize" name="vendors[33][kegsize][SixthBbl]" type="checkbox" value="SixthBbl"

Unfortunately, the new validation doesn't work (and instead just requires every checkbox). Here is a fiddle of what I would like to be able to do: http://ift.tt/1DEHJf0.

Here is a different attempt I made, but this is not working and I'm not sure why:

$.validator.addMethod('kegRequired', function(value, element, params) {
    if ($(element).find('input:checked .kegsize').length()){
        return true
    }else{
        return false
    }
}, 'Choose at least one keg size');

$.validator.addClassRules('keg-size-price-form', {kegRequired: true});

Any thoughts on how I can fix this?




Aucun commentaire:

Enregistrer un commentaire