2014-09-22 2 views
0

Мне нужно использовать идентификатор вместо того, что повторяется, как класс, только из-за того, как работает плагин, который я вызываю. Итак, ниже, мне нужно создать две разные функции, чтобы принудительно загрузить bootstrapValidator в определенное поле, щелкнув флажок. Я не могу использовать что-то вродеVarying ID's, One JQuery Function

'revalidateField', 'availmon[] || availtue[]' 

но есть какой-то другой метод или переменную можно использовать, так что я не буду делать эту же функцию 7x?

Here is a JSFiddle со всеми внешними ресурсами, прилагаемыми для просмотра того, что я на самом деле делаю.

$(function() { 
    $('#checkallmon').on('click', function() { 
     $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked); 
     $('#app').bootstrapValidator('revalidateField', 'availmon[]'); 
    }); 
}); 

$(function() { 
    $('#checkalltue').on('click', function() { 
     $(this).closest('fieldset').find(':checkbox').prop('checked', this.checked); 
     $('#app').bootstrapValidator('revalidateField', 'availtue[]'); 
    }); 
}); 

ответ

0

И если вы делаете что-то вроде этого:

$(function() { 
    $(".checkall").on('click', function() { 
     var elem = $(this); 
     var validationRule = elem.data('validation-rule'); 
     elem.closest('fieldset').find(':checkbox').prop('checked', this.checked); 
     $('#app').bootstrapValidator('revalidateField', validationRule+'[]'); 
    }); 
}); 

И в HTML вы делаете это так:

<label class="checkbox-inline preferred"> 
    <input type="checkbox" id="checkallmon" class="checkall" name="availmon[]" data-validation-rule="availmon" value="open">Fully Available 
</label> 

Не пробовал, но он должен работать. Поэтому он связан с классом (используется ваш класс checkall), и функция получает правило проверки от атрибута данных validation-rule. Поэтому вам просто нужно назначить checkall как класс и data-validation-rule с указанием имени правила на любой флажок.

Вы также можете использовать .attr('name'), чтобы использовать его как «правило», но, на мой взгляд, атрибут данных является более чистым способом.

Надеюсь, я правильно понял ваш вопрос.

+0

Блестящий - спасибо! Обновленный JSFiddle, чтобы увидеть вашу работу в действии: http://jsfiddle.net/babnxecg/2/ – internetjason

+0

Я рад, что это помогло вам и приятно было увидеть это в действии – theiNaD