By talino on
I'm trying to use JQuery in a very specific situation involving Taxonomy Super Select checkboxes and would be grateful for some assistance. I have four (unrequired) terms, 1, 2, 3 & 4. Choosing any number of them should make a fifth one available (term n° 8 in my case). Enabling term n° 8 should disable any of the previous ones (i.e. keep them checked but unmodifiable), until term n° 8 is unchecked again. In my very newbish approach I came up with the following, which works just fine but is so cumbersome to look at that I'm sure a more elegant code is possible. Any ideas?
$(document).ready(function() {
if (!$('input#edit-taxonomy-1-8').is(':checked')) {
$('#edit-taxonomy-1-8-wrapper').hide();
}
else {
$('#edit-taxonomy-1-8-wrapper').show();
$('#edit-taxonomy-1-1:input, #edit-taxonomy-1-2:input, #edit-taxonomy-1-3:input, #edit-taxonomy-1-4:input').attr('disabled', true);
}
$('input#edit-taxonomy-1-1:checkbox, input#edit-taxonomy-1-2:checkbox, input#edit-taxonomy-1-3:checkbox, input#edit-taxonomy-1-4:checkbox').click(function() {
if($(this).is(':checked')) {
$('#edit-taxonomy-1-8-wrapper').fadeIn('fast');
}
else {
if(!$('input#edit-taxonomy-1-1:checkbox, input#edit-taxonomy-1-2:checkbox, input#edit-taxonomy-1-3:checkbox, input#edit-taxonomy-1-4:checkbox').is(':checked')) {
$('#edit-taxonomy-1-8-wrapper').fadeOut('fast');
}
}
});
$('input#edit-taxonomy-1-8').click(function() {
if($(this).is(':checked')) {
$('#edit-taxonomy-1-1:input, #edit-taxonomy-1-2:input, #edit-taxonomy-1-3:input, #edit-taxonomy-1-4:input').attr('disabled', true);
}
else {
$('#edit-taxonomy-1-1:input, #edit-taxonomy-1-2:input, #edit-taxonomy-1-3:input, #edit-taxonomy-1-4:input').removeAttr('disabled');
}
});
});
Thanks.