I have this .each function that runs in an Ajax call.
On click, I would like it to run but on a second click, I don't want it to run as it just duplicates the data in the container.
Is there anything I can add to this to only run once?
$.each(result, function (i, extensionSubType) {
$(extensionTypeDiv).append('<div class="button-styles extension-subtype ' + extensionSubType.Name + '"><input id="ExtensionSubtypeId" class="hidden-input sub-input" name="ExtensionSubtypeId" type="radio" value="' + extensionSubType.Id + '">' + ' <label for="" data-label="' + extensionSubType.Name + '" class="btn-label">' + extensionSubType.Name + '</label></div>');
});
This is the full click event
$(document).on('click', '.extension-type', function () {
var extensionTypeId = $(this).find('input.extension-type-radio').val();
$(this).find('input.extension-type-radio').prop('checked', true);
$.ajax({
url: '/umbraco/Surface/FixUpCashBackCalculator/_ExtensionSubTypes',
type: 'GET',
data: { extensionTypeId: extensionTypeId },
success: function (result) {
$.each(result, function (i, extensionSubType) {
$(extensionTypeDiv).append('<div class="button-styles extension-subtype ' + extensionSubType.Name + '"><input id="ExtensionSubtypeId" class="hidden-input sub-input" name="ExtensionSubtypeId" type="radio" value="' + extensionSubType.Id + '">' + ' <label for="" data-label="' + extensionSubType.Name + '" class="btn-label">' + extensionSubType.Name + '</label></div>');
});
}
});
Any suggestions would be much appreciated.
Many thanks in advance.