我必须使用ID而不是类似可重复的东西,只是因为我调用的插件的工作方式。所以下面,我必须创建两个不同的函数,以便在单击复选框时强制bootstrapValidator在特定字段中。我不能使用像
这样的东西'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 :(得分: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')
将名称用作“规则”,但在我看来,数据属性更清晰。
我希望我能以正确的方式理解你的问题。