Javascript 可变ID';s、 一个JQuery函数
我必须使用ID而不是像class这样的可重复的东西,这仅仅是因为我调用的插件的工作方式。下面,我必须创建两个不同的函数,以便在单击复选框时强制bootstrapValidator在特定字段中。我不能用像这样的东西Javascript 可变ID';s、 一个JQuery函数,javascript,jquery,Javascript,Jquery,我必须使用ID而不是像class这样的可重复的东西,这仅仅是因为我调用的插件的工作方式。下面,我必须创建两个不同的函数,以便在单击复选框时强制bootstrapValidator在特定字段中。我不能用像这样的东西 'revalidateField', 'availmon[] || availtue[]' 但是有没有其他的方法或者变量我可以使用,这样我就不用做同样的函数7x了 附带所有外部资源,以查看我实际在做什么 $(function () { $('#checkallmon').on
'revalidateField', 'availmon[] || availtue[]'
但是有没有其他的方法或者变量我可以使用,这样我就不用做同样的函数7x了
附带所有外部资源,以查看我实际在做什么
$(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[]');
});
});
如果你这样做:
$(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+'[]');
});
});
<label class="checkbox-inline preferred">
<input type="checkbox" id="checkallmon" class="checkall" name="availmon[]" data-validation-rule="availmon" value="open">Fully Available
</label>
在HTML中,您可以这样做:
$(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+'[]');
});
});
<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')
将名称用作“规则”,但在我看来,数据属性是一种更简洁的方式
我希望我以正确的方式理解了你的问题。太棒了-谢谢!更新JSFIDLE以查看您的实际工作:我很高兴这对您有所帮助,也很高兴看到它的实际工作