diff --git a/sites/all/modules/support/support_substatus/support_substatus.js b/sites/all/modules/support/support_substatus/support_substatus.js index b074d62..25d8cd4 100644 --- a/sites/all/modules/support/support_substatus/support_substatus.js +++ b/sites/all/modules/support/support_substatus/support_substatus.js @@ -1,12 +1,17 @@ $(document).ready(function() { $("#select-state").change(function() { change_substatus($("#select-state").val()); }).change(); }); function change_substatus($state) { - //console.log(Drupal.settings.substatus[$state]); - // State has changed, update substatus. - var $ss = $("#select-substatus"); - $ss.empty(); + // State has changed, update substatus. + var $ss = $("#select-substatus"); + // Capture current state so we don't lose track of it on page load. + var curvalue = $ss.val(); + $ss.empty(); - // @todo: if no substatus for this state, remove from form - $.each(Drupal.settings.substatus[$state], function(key, value) {$ss.append($("").attr("value", key).text(value)); }); + // @todo: if no substatus for this state, remove from form + $.each(Drupal.settings.substatus[$state], function(key, value) { + $ss.append($("").attr("value", key).text(value)); + }); + // Preserve current state if applicable. + $ss.find("option[value='" + curvalue + "']").attr('selected', 'selected'); } \ No newline at end of file