So everywhere I looked everybody says that to output values of selected options in a multiple select element one should use something like the following $(\'#selid :se
The val function gets the value of the first element in the set of matched elements. To get the value of multiple selected items, when using the :selected selector, you need to loop through the set, as you mention in your question.
For more information, read the jQuery API for val().
"in such case val() will return an array of values. Well, I can't replicate this behaviour."
You never need to use :selected to get the value of a <select>. This is sufficient:
$('#selid').val()
Demo: http://jsfiddle.net/mattball/WZRmD/