diff --git a/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js b/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js index 224b6e45c8..9038389329 100644 --- a/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js +++ b/src/sunstone/public/app/tabs/templates-tab/form-panels/instantiate.js @@ -606,11 +606,19 @@ define(function(require) { CapacityInputs.setup(capacityContext); CapacityInputs.fill(capacityContext, template_json.VMTEMPLATE); - if (template_json.VMTEMPLATE.TEMPLATE.HYPERVISOR == "vcenter"){ - $(".memory_input .mb_input input", context).attr("pattern", "^([048]|\\d*[13579][26]|\\d*[24680][048])$"); - } else { - $(".memory_input .mb_input input", context).removeAttr("pattern"); - } + var mb_input_unit = $(".memory_input .mb_input_unit", context); + mb_input_unit.off("change"); + mb_input_unit.on("change", function() { + var isMB = $(this).val() === "MB"; + var isVCenter = template_json.VMTEMPLATE.TEMPLATE.HYPERVISOR == "vcenter"; + + if (isMB && isVCenter) { + $(".memory_input .mb_input input", context).attr("pattern", "^([048]|\\d*[13579][26]|\\d*[24680][048])$"); + } else { + $(".memory_input .mb_input input", context).removeAttr("pattern"); + } + }); + mb_input_unit.trigger("change"); var cpuCost = template_json.VMTEMPLATE.TEMPLATE.CPU_COST; var memoryCost = template_json.VMTEMPLATE.TEMPLATE.MEMORY_COST; diff --git a/src/sunstone/public/app/utils/user-inputs.js b/src/sunstone/public/app/utils/user-inputs.js index aa848accfe..ed65241d25 100644 --- a/src/sunstone/public/app/utils/user-inputs.js +++ b/src/sunstone/public/app/utils/user-inputs.js @@ -747,7 +747,7 @@ define(function(require) { var min = parseInt(element.attr("min"),10); var max = parseInt(element.attr("max"),10); if (value == ""){ - $(".mb_input_unit", context).val("MB").change(); + $(".mb_input_unit", context).val("MB").trigger("change"); }else{ // If you are going to put a new unit you must put it up in the html, here and down in the change if(value / (base**2) >= 1){ @@ -767,7 +767,7 @@ define(function(require) { } $("input.visor", contextElement).val(valueInUnit); var contextUnit = contextElement.siblings(".input-group-button"); - $(".mb_input_unit", contextUnit).val(unit).change(); + $(".mb_input_unit", contextUnit).val(unit).trigger("change"); } $("div.mb_input", context).on("change", "input.visor, select", function(e){