How is the option list created? Is it dynamic, e.g. a loop in PHP outputs the options, or is it static, e.g. fixed HTML code?
Either way, the approach is virtually the same; as the HTML for the option list is being outputted, check if the current option matches the previous value submitted and, if so, output the appropriate HTML code to make it selected again.