作者:fghnh102_441 | 来源:互联网 | 2023-09-18 16:31
所以我有一些实现的jQuery代码,但似乎太多余了,因此我想看看是否有人能够帮助我确定是否有办法减少我所使用的代码量使用。
我在做什么:当用户单击复选框时,这些字段变为必填字段,但如果未选中,则不需要。
以下是工作功能的图片:
代码:
/* Make checkbox textboxes not required unless checked */
$(document).ready(function() {
$('#rtk5').change(function() {
if ($('#rtk5Field1').attr('required')) {
$('#rtk5Field1').removeAttr('required');
}
else {
$('#rtk5Field1').attr('required','required');
}
});
});
$(document).ready(function() {
$('#rtk5').change(function() {
if ($('#rtk5Field2').attr('required')) {
$('#rtk5Field2').removeAttr('required');
}
else {
$('#rtk5Field2').attr('required','required');
}
});
});
$(document).ready(function() {
$('#rtk5').change(function() {
if ($('#rtk5Field3').attr('required')) {
$('#rtk5Field3').removeAttr('required');
}
else {
$('#rtk5Field3').attr('required','required');
}
});
});
首先,仅使用一个$(document).ready
函数。其次,仅使用一个change
函数。如果您为所有字段都指定了相同的类(例如reqFields
),则可以一次将所有字段作为目标。因此您的新代码可能如下所示:
$(document).ready(function() {
$('#rtk5').change(function() {
if ($('.reqFields').attr('required')) {
$('.reqFields').removeAttr('required');
}
else {
$('.reqFields').attr('required','required');
}
});
});