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