jQuery serialize() handles multiple select options incorrectly

jQuery serialize() handles multiple select options incorrectly

Using $(this).serialize() with jQuery causes multiple selections to be lost. 

In the example below, the results for "product" should be returned as an array.

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Test</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#order').submit(function() { alert( $(this).serialize() ); return false; }); }); </script> </head> <body> <form id="order" method="post" action="./"> <input name="input1" type="text" value="Hello World" /> <input name="input2" type="text" value="World" /> <select name="product" size="3" multiple="multiple"> <option value="1" selected="selected">1</option> <option value="2">2</option> <option value="3" selected="selected">3</option> </select> <input type="submit" value="submit" /> </form> </body> </html>