قد يكون هذا أسهل
var puts = $('.a');//get checkboxes
var cans = $('.field');//get content
puts.on('change', function() {//when checkbox changes
if (!puts.filter(':checked').length) {//if nothing's checked
cans.show();//show it all
} else {//if something's checked
cans.hide();//hide all
puts.filter(':checked').each(function() {//get checked
$('.'+this.id+':hidden').show();//show if hidden
});
}
});
صنع كمان: http://jsfiddle.net/filever10/f8vk2/
انفصال
puts
هي مربعات الاختيار
cans
هي كتل المحتوى
عندما تتغير حالة مربع الاختيار ، إذا لم يتم التحقق من أي شيء حاليًا ، فإنه يظهر كل شيء. إذا تم فحص شيء ما ، فإنه يخفي جميع كتل المحتوى ويظهر أي فئة تتناسب مع id
من مربع فحص. إنه يوضح فقط الأشياء المخفية ، لذلك ليس من الضروري تشغيل العرض عدة مرات على كتل المحتوى التي تنطبق على مربعات فحص متعددة.