I'm not liking how my JQuery is after making some dynamic buttons, or other dynamic things. For example, when I have checkboxes marked, I add a button that is called "Download Selected" and "Remove Selected". Of course, there are many more JQuery + HTML things in my site.
I'd like to know how I can make my code better, not spaghetti looking.
Thanks a lot!
$(document).on('change', '.docListCheckbox', function(event){
if( $('#resultsContainer').find('.docListCheckbox:checked').length > 0 )
{
if( ! $('#download-sel').length > 0 )
{
var downSelectionBtn = '<button id="download-sel" class="button-small button-blue" type="button">DESCARGAR MARCADOS</button>';
var delSelectionBtn = '<button id="delete-sel" class="button-small button-red" type="button">ELIMINAR MARCADOS</button>';
$('#selection-controls').append(downSelectionBtn);
<?php if( SwHelper::checkAccess('Docusearch.Documento.Eliminar') ): ?>
$('#selection-controls').append(delSelectionBtn);
<?php endif; ?>
}
}
else
{
if( $('#download-sel').length > 0 )
{
$('#download-sel').remove();
<?php if( SwHelper::checkAccess('Docusearch.Documento.Eliminar') ): ?>
$('#delete-sel').remove();
<?php endif; ?>
}
}
});
$(document).on('click', '#docActionEdit', function() {
var button = $(this);
var isToggled = button.data('toggled');
$('#docDataEditor').slideToggle({
duration: 1000,
easing: 'easeOutBounce',
start: function(){
if(isToggled == 'false') {
button.html('EDITAR');
button.data('toggled', 'true');
$('#docActionSave').remove();
}
else {
button.html('CANCELAR');
button.data('toggled', 'false');
$('#docAvailableActions').prepend('<button id="docActionSave" class="button-small button-green">GUARDAR</button>');
}
}
});
});