У вас ошибка вот здесь:
while (document.getElementById('vid').options[cnt].value) {
скрипт здесь вылетает когда после последнего элемента списка он пытается взять value у следующего элемента.
<select id="vid" onchange="opa()">
<option value="1">один</option>
<option value="2">два</option>
<option value="3">три</option>
</select>
<script>
function opa() {
var cnt = 0, ww = 0, jj = 0, sel = document.getElementById('vid');
while (sel.options[cnt]) {
if (sel.options[cnt].selected == true) {
jj = Number(sel.options[cnt].value);
alert(jj);
};
cnt++;
};
alert(ww);
}
</script>