вот оно. ошибка в логике. проеп массив один
<form name="po">
<table border="1">
<tr><th>Памятник</th><th>Находится в городе</th>
<tr><td>
<select size =4 id="pamyatniki" multiple>
<option value="1">Стена Плача <br>
<option value="1" >Священный камень Кааб<br>
<option value="3">Медный всадник<br>
<option value="4">Третьяковская галерея<br>
<option value="5">Триумфальная арка<br>
<option value="6">Статуя Свободы<br>
<option value="7">Тауэр<br>
</select>
</td>
<td>
<select size=4 id="goroda">
<option value="1">Иepycaлим<br>
<option value="2">Милан<br>
<option value="3">Пapиж<br>
<option value="4">Мадрид<br>
<option value="5">Лoндoн<br>
<option value="6">Нью-Йорк<br>
<option value="7">Бepлин<br>
</select>
</td></tr>
</table>
<input type="button" value="Результат" onclick="p();"><br>
Количество правильных ответов <input type="text" id="9" name="res" size="5" disabled="true">
<br>
Количество неправильных ответов <input type="text" id="10" name="res1" size="5" disabled="true">
<input type="reset" value= "Обновить" onclick="reset">
</form>
<script type="text/javascript">
function gSI (sel) {
var ar = [];
for (var i=0,b=sel.options.length; i < b; i++) sel.options[i].selected && ar.push(i);
return ar;
};
/* возвращает массив выделенных элементов */
function p(){
var ri = 0, // колво правильных
fa = 0;// колво неверных
var sel = document.getElementById('pamyatniki');
var right = document.getElementById('goroda').value;
var ar = gSI( sel ),i = 0, b = ar.length;
// цикл по массиву выделенных селектов
while( i < b ){
// сравниваем значение right ( город ) со значением выделенных options. все по порядку
if( sel.options[ ar[ i ] ].getAttribute('value') == right ) ++ri; else ++fa;
i++;
}
document.getElementById('9').value=ri;
document.getElementById('10').value = fa;
}
</script>
у мадрида
value 4 стоит! насчет
Третьяковской галереи в мадриде ничего не ведаю