Hi,
you are clearing the options on every change, and, then, re-adding them. That way, you are loosing the selection. You don't really have to do that on every change.. Maybe do it this way:
var YOYCase = null;
function YOYonChange()
{
var OriginalEffectiveDate = Xrm.Page.getAttribute("nhs_originaleffectivedate").getValue();
var EffectiveStartDate = Xrm.Page.getAttribute("nhs_effectivestartdate").getValue();
var YOY = Xrm.Page.getAttribute("nhs_formularytransitionyoymethodology").getValue();
if (EffectiveStartDate == null || EffectiveStartDate =='' || EffectiveStartDate =='undefined')
{
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").clearOptions();
}
else if (EffectiveStartDate > OriginalEffectiveDate && YOYCase != 1)
{
YOYCase = 1;
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").clearOptions();
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130000, text: 'Group'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130001, text: 'New Client'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130004, text: 'Traditional'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130002, text: 'Other'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130003, text: 'TBD'});
}
else if (EffectiveStartDate < OriginalEffectiveDate && YOYCase != 2)
{
YOYCase = 2;
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").clearOptions();
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130000, text: 'Group'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130001, text: 'New Client'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130002, text: 'Other'});
Xrm.Page.getControl("nhs_formularytransitionyoymethodology").addOption({value: 127130003, text: 'TBD'});
}
}
function YOYOnLoad()
{
YOYonChange()
}